/*
Theme Name:Template-theme
Author:更新システム
Description:更新システム専用テーマ
Version: 2.4.1
*/


/* YUI 3.5.0 reset.css (http://developer.yahoo.com/yui/3/cssreset/) - http://cssreset.com */

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0; box-sizing: border-box;}
table{border-collapse:collapse;border-spacing:0}
fieldset,img{border:0}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}
ol,ul{list-style:none}
caption,th{text-align:left}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}
q:before,q:after{content:''}
abbr,acronym{border:0;font-variant:normal}
sup{vertical-align:text-top}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}
input,textarea,select{*font-size:100%}
legend{color:#000}
#yui3-css-stamp.cssreset{display:none}

a { }

a:hover { text-decoration: none; }

a:hover img {
	opacity: 0.8;
	filter: alpha(opacity=80);
}

body {
	font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
	margin: 0;
	font-size:14px;
	color: #454545;
	background: #F4F1EF;
}

body .sans{
	font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
}

body .serif{
	font-family:  "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

#body-inside{
	overflow-x: hidden;
}

img{width: auto; height: auto;}
img.objectfit{width: 100%;height: 100%;object-fit: cover;}

.imgbox img{
	width: 100%;
	margin: 20px auto;
}

.bold{
	font-weight: bold;
}

/* -------------------------------------------
	CLEAR-FIX
---------------------------------------------- */
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.clearfix { display: inline-block; }

/* Hides from IE-mac \*/
* html.clearfix { height: 1%; }

.clearfix { display: block; }

/* -------------------------------------------
	Utility
---------------------------------------------- */

/* Margin
-------------*/
.m0 { margin: 0 }
.m10 { margin: 10px }
.m15 { margin: 15px; }
.m20 { margin: 20px; }
.mg5 { margin: 5px; }
.mg10 { margin: 10px; }
.mg15 { margin: 15px; }
.mg20 { margin: 20px; }
.mt5 { margin-top: 5px; }
.mt10 { margin-top: 10px; }
.mt15 { margin-top: 15px; }
.mt20 { margin-top: 20px; }
.mt30 { margin-top: 30px; }
.mt50 { margin-top: 50px; }
.mt100 { margin-top: 100px; }
.ml5 { margin-left: 5px; }
.ml8 { margin-left: 8px; }
.ml10 { margin-left: 10px; }
.ml15 { margin-left: 15px; }
.ml20 { margin-left: 20px; }
.ml30 { margin-left: 30px; }
.ml40 { margin-left: 40px; }
.ml50 { margin-left: 50px; }
.mr5 { margin-right: 5px; }
.mr10 { margin-right: 10px; }
.mr15 { margin-right: 15px; }
.mr20 { margin-right: 20px; }
.mb5 { margin-bottom: 5px; }
.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb50 { margin-bottom: 50px; }
.mb100 { margin-bottom: 100px; }

/* padding
---------------------*/
#wrapper .p5 { padding: 5px; }
#wrapper .p10 { padding: 10px; }
#wrapper .pt10 { padding-top: 10px; }
#wrapper .pt20 { padding-top: 20px; }
#wrapper .pb20 { padding-bottom: 20px; }

/* Float
---------------------*/
.fl { float: left }
.fr { float: right; }
.cl { clear: both; }

/* cursor
-------------------*/
.cp { cursor: pointer; }

.fcr { color: #fff; }

.attention {
	color: #f00;
	font-weight: bold;
}

.link-arrow {
	padding-left: 20px;
	background: url(images/common/bg_side-list.png) left center no-repeat;
}

/* width
--------------------*/
.w50 { width: 50px; }
.w100 { width: 100px; }
.w130 { width: 130px; }
.w200 { width: 200px; }
.w220 { width: 220px; }
.w245 { width: 245px; }
.w270 { width: 270px; }
.w300 { width: 300px; }
.w330 { width: 330px; }
.w400 { width: 400px; }
.w500 { width: 500px; }
.w570 { width: 570px; }

.w90 input, .w90 textarea { width: 90%; }

/* align
------------------- */
.tac { text-align: center }
.tal { text-align: left }
.tar { text-align: right }

/* Link Button
------------------- */
.button a {
	/* サイトごとに変更 */
	display: block;
	width: 80%;
	margin: 10px auto;
	text-align: center;
	padding: 10px 0;
	border-radius: 5px;
	text-decoration: none;
}
.flexbox-base{
	display: -webkit-box;/* Android4.3以前ブラウザ用 */
	display: -webkit-flex;/* iOS8以前Safari用 */
	display: flex;
	-webkit-flex-wrap:wrap;/*--- safari（PC）用 ---*/
	flex-wrap:wrap;
	justify-content: space-around;
	align-items: center;
}

.flexbox-base img{
	width: 100%;
}

.flexbox-base .w30{
	width: 30%;
	padding: 10px;
}

.flexbox-base .w70{
	width: 70%;
	padding: 10px;
}

/* -------------------------------------------
	WordPress Editor
---------------------------------------------- */

img.size-auto, img.size-large, img.size-full, img.size-medium {
	max-width: 100%;
	height: auto;
}

.alignleft, img.alignleft {
	display: inline;
	float: left;
	margin-right: 15px;
	margin-top: 4px;
}

.alignright, img.alignright {
	display: inline;
	float: right;
	margin-left: 15px;
	margin-top: 4px;
}

.aligncenter, img.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

img.alignleft, img.alignright, img.aligncenter { margin-bottom: 12px; }

.wp-caption {
	border: none;
	-khtml-border-radius: 0;
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	border-radius: 0;
	font-size: 12px;
	line-height: 18px;
	margin-bottom: 20px;
	padding: 4px;
	text-align: center;
}

.wp-caption img { margin: 5px; }

.wp-caption p.wp-caption-text { margin: 0 0 4px; }

.wp-smiley { margin: 0; }

#main .post-content h1 {
	font-size: 48px;
	font-weight: bold;
	line-height:150%;
}

#main .post-content h2 {
	font-size: 36px;
	font-weight: bold;
	line-height:150%;
}

#main .post-content h3 {
	font-size: 24px;
	font-weight: bold;
	line-height:150%;
}

#main .post-content h4 {
	font-size: 18px;
	font-weight: bold;
	line-height:150%;
}

#main .post-content h5 {
	font-size: 14px;
	font-weight: bold;
	line-height:150%;
}

#main .post-content h6 {
	font-size: 12px;
	font-weight: bold;
	line-height:150%;
}

#main .post-content h7 {
	font-size: 10px;
	font-weight: bold;
	line-height:150%;
}


.post-content img {
	width: auto;
    max-width: 100%;
    height: auto;
}

#main .post-content ul, #main ul.default, #main .post-content ol { padding: 10px 0 10px 20px; }

#main ul.default li, #main .post-content ul li { list-style: disc; }

#main .post-content ol li { list-style: decimal; }

#main .post-content blockquote {
	margin: 10px 20px;
	font-style: italic;
}

#wrapper img {
	max-width: 100%;
	height: auto;
}

#wrapper #galleria img { max-width: none; }

.mobile { display: none; }

.pr-content { margin-bottom: 30px; }


/* ------------------------------------------
	PC用のスタイル記述
--------------------------------------------- */

:target:before {
   height: 100px;/* ヘッダの高さ */
   margin: -100px 0 0;/* ヘッダの高さ */
   content:””;
   display:block;
}

a[href^="tel:"] {
	text-decoration: none;
}

p{
	margin: 10px auto;
}

.pc_block{
	display: block;
}

.sp_block{
	display: none;
}

body {
	font-size: 100%;
	line-height: 1.6;
}

#wrapper {
	margin: 0 auto;
	width: 100%;
}







/* Header */
#pagehead{
	display: block;
	content: "";
	height: 70px;
	width: 100%;
}

header {
	position:fixed;
	width: 100%;
	background: #F4F1EF;
	z-index: 101;
	border-bottom: 2px solid;
}

.head_contents	{/*width: 960px;*/margin:0 5%;display: flex;justify-content: space-between;align-items: center;}

.head-left{display: flex;align-items: center;}
.head_logo {margin-right: 15px;margin-top: 10px;}
.head_logo img{height: 60px;}
.head_logo a {text-decoration: none;color: #3160B7;}
.head_logo h1{font-size: 1.8rem;}
.head_logo h1 span{display: block;font-size: 0.9rem;margin-top: -5px;}

.head-right{display: flex;align-items: center;height: 70px;}

.tab-btn-wrap{background: #63A7CF;display: flex;justify-content: center;padding: 10px 0;}
.tab-btn-wrap .tab-btn{display: block;padding: 5px;width: 200px;background: #fff;color: #2F2F2F;border: 1px solid;border-radius: 5px;text-decoration: none;text-align: center;margin: 0 15px;font-weight: bold;}
.tab-panel{display: none;opacity: 0;padding: 10px 0;background: #fff;}
.tab-panel.active{display: block;animation-name: fadein;animation-duration: 1s;animation-timing-function: ease-out;animation-fill-mode: forwards;}
@keyframes fadein {
  0% {opacity: 0;}
  100% {opacity: 1;}
}
.tab-panel ul{display: flex;justify-content: center;}
.tab-panel ul li{margin: auto 15px;}
.tab-panel ul li a{text-decoration: none;font-weight: bold;font-size: 0.9rem;}

/* Navigation
------------------------------------ */
#navigation{}
#navigation ul{display: flex;justify-content: center;}
#navigation li{margin: 5px;display: block;text-align: center;}
#navigation li img{height: 60px;}
#navigation li a{display:block;font-size:1rem;font-weight: bold;text-decoration: none;}
#navigation li .sub-menu{width: 150px;position: absolute;font-size:0.8rem;text-align: center;display: block;}
#navigation li .sub-menu li a{width: 150px;display: none;padding: 8px 0;height: auto;background-color: #fff;}
#navigation li:hover .sub-menu li a{display: block;}
#navigation li .sub-menu li a:hover{background-color: #eee;}
#navigation li.btn-flow a{display: block;background: #fff;border:2px solid #000;padding: 5px 15px;}
#navigation li.btn-contact a{display: block;background: #F4955C;color: #fff;border:2px solid #000;padding: 5px 15px;}


/* Menu Btn
------------------------------------ */
#btn-menu {z-index: 99;}
#btn-menu p {color: #111;margin: 0 5px;display: inline-block;padding:0;border-radius: 5px;text-decoration: none;text-align: center;line-height: 0.9;}
#btn-menu span {font-size: 0.7rem;}


/* Contents
------------------------------------ */
#breadcrumb {position: relative;margin: 20px auto 10px;width: 960px;font-size: 0.9rem;z-index: 10;}

.container {
	margin: auto;
	max-width: 1200px;
}

.contents-box{
	padding: 15px 3%;
}

.contents-box img{
	max-width: 100%;
}

.main-text{max-width: 960px;margin: auto;}

.contents-box h2{font-size: 2.5rem;font-weight: bold;}
.contents-box h3{font-size: 1.5rem;font-weight: bold;border-bottom: 1px solid;margin: 15px auto;}
.contents-box h4{font-size: 1.3rem;font-weight: bold;}
.contents-box h5{font-size: 1.1rem;font-weight: bold;}
.contents-box p{
	line-height: 1.8rem;
	padding: 5px;
}

.borderline{border-bottom: 1px solid #D0D1D5;}

.btn_basic{margin: 30px auto;text-align: center;}
.btn_basic a{display: inline-block;text-decoration: none;padding: 10px 25px;min-width: 200px;background: #fff;color: #103853;border:1px solid;border-radius: 50px;}
.btn_basic a:after{display: inline-block;content: ">";margin-left: 15px;}
.btn_basic a:hover{color: #fff;background: #aaa;}

.btn_mail{margin: 30px auto;text-align: center;}
.btn_mail a{display: inline-block;text-decoration: none;padding: 10px 25px;width: 140px;background: #103853;color: #fff;position: relative;font-weight: bold;border-radius: 10px;}

.flex-two{display: flex;flex-wrap: wrap;margin: 50px auto;}
.flex-two.flex-rev{flex-direction: row-reverse;}
.flex-two .image{width: 50%;}
.flex-two .image img{vertical-align: middle;}
.flex-two .text{width: 46%;margin: auto 2%;}


/* Sidebar
------------------------------------ */

.sidebar { }

.sidebar p { margin-bottom: 20px; }

.sidebar .widget { margin-bottom: 30px; }

.sidebar .widget li a {
	/* サイトごとに変更 */
	text-decoration: none;
	display: block;
	padding: 8px;
}


/* Footer
------------------------------------ */
footer {padding-top: 5px;background: #F4F1EF;border-top: 2px solid;}
footer .flex-two{justify-content: center;align-items: center;margin: 15px auto;}
footer .footer-logo{text-align: right;width: 48%;margin: auto;}
footer .footer-info{width: 48%;margin: auto;}

.copyright {padding: 5px;font-size: 0.8rem;background: #F4955C;color: #fff;text-align: center;}



/* pagetop button */
#pageTop {
  position: fixed;
  bottom: 90px;
  right: 20px;
  z-index: 999;
}

#pageTop img{
	width: 120px;
}

#pageTop i {
  padding-top: 6px
}



#pageTop a {
  display: block;
  background-color: rgba(255,255,255,0.50);
  color: #777;
  border-radius: 10px;
  padding: 10px;
  line-height: 16px;
  text-align: center;
}

#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}





/* TOPコンテンツ */
#home-info{margin: 30px auto;}
#home-info .info-wrap{background: #fff;overflow: hidden;margin: auto 5px;border:1px solid;}
#home-info .info-wrap span{display:inline-block;padding-left: 100%;white-space : nowrap;line-height : 1em;animation   : scrollAnime 8s linear infinite;}
@keyframes scrollAnime{
    0% { transform: translateX(0)}
  100% { transform: translateX(-100%)}
}

#home-links{margin: 30px auto;}
#home-links .link-wrap{display: flex;flex-wrap: wrap;justify-content: space-between;}
#home-links .link-wrap img{width: 100%;}
#home-links .link-wrap a{display: block;}
#home-links .link-wrap .left{width: 66%;display: flex;flex-wrap: wrap;justify-content: space-between;}
#home-links .link-wrap .left .left-t{width: 100%;margin: 0 0 10px 0;}
#home-links .link-wrap .left .left-l,
#home-links .link-wrap .left .left-r{width: 48%;margin: 0;}
#home-links .link-wrap .right{width: 32%;}
#home-links .link-wrap .right .right-t{width: 100%;margin: 0 0 10px 0;}

.news-wrap .news-list{display: flex;margin: 50px auto;}
.news-wrap .news-list li{width: 23%;margin: 15px auto;}
.news-wrap .news-list li a{text-decoration: none;color: #111;display: inline-block;}
.news-wrap .news-list li a:hover{border-bottom:3px solid #FF8D50;}
.news-wrap .news-list li .text p{margin: 3px 0;padding: 0;}
.news-wrap .news-list li .text .category{display: inline-block;padding: 0 10px;border:1px solid;}
.news-wrap .news-list li .text .title{font-weight: bold;font-size: 1.1rem;}


/* 下層ページ
----------------------------- */
.childhead{position: relative;padding: 15px 0;}
.childhead .contents-box{position: relative;z-index: 3;text-align: center;}
.childhead .contents-box .en-title{font-size: 3rem;}
.childhead .contents-box .ja-title{display: inline-block;background: #F4955C;font-size: 1.5rem;padding: 10px 30px;border: 1px solid;margin-top: 15px;}
.childhead .childhead-bg{position: absolute;top:0;left: 0;width: 100%;height: 75%;}
.childhead .childhead-bg img{width: 100%;height: 100%;object-fit: cover;object-position: center center;}
.childhead .childhead-bg::after{display: block;content: "";position: absolute;top:0;left: 0;width: 100%;height: 100%;background: rgba(255,255,255,0.7);}

.page-basic{padding-bottom: 30px;}
.page-basic strong{font-weight: bold;}
.page-basic .contents-box .border-box{border:1px solid ;padding: 10px 15px;margin: 15px auto;}
.page-basic .contents-box .border-box h4{margin-top: 0;}
.page-basic .contents-box .wp-block-separator{margin: 50px auto;}
.page-basic .bnr-section{text-align: center;margin: 50px auto;}
.page-basic ul,.page-basic ol{margin: 15px 5px;}
.page-basic li{list-style: disc;margin: 5px 15px 5px 30px;}
.page-basic .qa-box{padding: 15px 0;border-bottom: 1px dotted #777;}
.page-basic .qa-box h5{color: #DE73AF;position: relative;margin-left: 40px;font-size: 1.3rem;}
.page-basic .qa-box h5:before{display: block;position: absolute;content:"Q.";top:0;left: -40px;font-size: 1.3rem;background: #DE73AF;color: #fff;padding: 0 5px;}
.page-basic .qa-box p{position: relative;margin-left: 40px;}
.page-basic .qa-box p:before{display: block;position: absolute;content:"A.";top:5px;left: -40px;font-size: 1.5rem;color: #DE73AF;border:1px solid;padding: 0 4px;}

.basic-table{margin: 30px auto;}
.basic-table th{padding: 10px 5px;vertical-align: top;border-bottom:1px solid #aaa;font-weight: bold;}
.basic-table td{padding: 10px 5px;vertical-align: top;border-bottom:1px solid #aaa;}


/* 問い合わせフォーム
----------------------------- */
#contact-tel h3,#mailform h3{border-bottom: 1px solid;text-align: center;}
#contact-tel,#mailform{margin: 100px auto;}
#contact-tel .tel{font-size: 2.5rem;text-align: center;font-weight: bold;margin-top: 30px;}
#contact-tel .tel a{color: #DE73AF;}
#contact-tel .time{text-align: center;}

.mailform-tbl {margin: 30px auto;}
.mailform-tbl table{margin-bottom: 20px;width: 100%;}
.mailform-tbl th,.mailform-tbl td {padding: 10px;text-align: left;vertical-align: top;}
.mailform-tbl th { width: 30%;font-weight: bold;}
.mailform-tbl td { width: 70%;}
.mailform-tbl .hissu{color: #fff;display: inline-block;padding: 0 10px;border-radius: 5px;background: #F4955C;margin-right: 5px;}
.mailform-tbl .form-age{width: 5em;}
.mailform-tbl input, .mailform-tbl select { margin-right: 3px; padding: 5px;}
textarea { outline: 1px solid #ccc; }
.mailform-tbl input,.mailform-tbl textarea{width: 100%;}
.mailform-tbl .radio input{width: auto;outline:none;margin: 0;padding: 0;}
.mailform-tbl .wpcf7-list-item input{width: auto;outline:none;margin: 0;padding: 0;}
.mailform-tbl .example{margin-top: 0;padding: 15px;background: #EDE8E4;}

#submit-button{text-align: center;}
#submit-button input {text-decoration: none;background: #F4955C;color: #fff;padding: 10px 100px;display: inline-block;margin: 0;}
#submit-button input:hover {background: #eee;}

#wpcf7cpcnf table{margin-bottom: 20px;width: 100%;}
#wpcf7cpcnf th,.mailform-tbl td {padding: 10px;text-align: left;vertical-align: top;}
#wpcf7cpcnf th { width: 30%;font-weight: bold;}
#wpcf7cpcnf td { width: 70%;}
#wpcf7cpcnf .hissu{color: #fff;display: inline-block;padding: 0 10px;border-radius: 5px;background: #F4955C;margin-right: 5px;}
#wpcf7cpcnf button {text-decoration: none;background: #F4955C;color: #fff;padding: 10px 100px;display: inline-block;margin: 0;}
#wpcf7cpcnf button:hover {background: #eee;}


/* アーカイブページ
----------------------------- */
/* news一覧 */
.news-box{display: flex;flex-wrap: wrap;}

.news-box li{width: 18%;border:1px solid #102f65;margin: 15px 1%;}
.news-box li img{width: 100%;}
.news-box li p{margin: 0;}
.news-box li .title{font-weight: bold;}

/* ブログ
----------------------------- */
/*
#page-main-image {  メイン画像
	margin-bottom:20px;
}
*/

.blogtitle{
	font-size:2rem;
	padding: 10px;
	font-weight: bold;
	color:#0e184d;
	line-height: normal;
}

.cat-list{
	margin:0 0 20px;
	overflow:hidden;
}
.cat-list a{
	margin:0 10px;
	padding:10px;
	float:left;
	border:1px solid #666;
	border-radius:5px;
	display:block;
	background-color:#999;
	color:#fff;
	text-decoration:none;
	font-weight:bold;
}
.cat-list a:hover{
	background-color:#666;
}
#blog-top { /* ブログトップページフリーエリア */ margin-bottom: 20px; }

.article { /* 記事ボックス */
	padding: 20px;
	margin-bottom: 50px;
	border-radius: 5px;
}

.article .post-title { /* 記事タイトル */ margin-bottom: 20px; font-size:1.5rem;font-weight: bold;}

.article .post-title a{ color: #573C33;text-decoration: none;}

.article .post-content { /* 記事本文 */
	margin-bottom: 10px;
	padding-bottom: 50px;
	position: relative;
}

.article .post-content strong{font-weight: bold;}
.page-defaultblog .article .post-content { /* 記事本文 */
	overflow:hidden;
}

.blog-thumbnail img{width: 100%;max-width: 800px;}

.wp_social_bookmarking_light {
	position: absolute;
	right: 0;
	bottom: 10px;
}

.article .post-meta { /* 記事メタ情報 */
	text-align: right;
	font-size: 0.85rem;
}

.wp-pagenavi { /* ページ送り */
	margin: 50px 0 20px;
	text-align: center;
	font-size: 0.8rem;
}

#single-paging {/* 詳細ページ送り */ }

#signature-block { /* ブログ署名欄 */
	clear: both;
	padding: 50px 0 0;
}

/* コメント部分
----------------------------- */
.blog .comment-area {
	margin: 10px;
	text-align: left;
}

#com h3 {/* コメントタイトル */
	margin: 10px 0;
	padding: 5px;
}

#com .compost { /* コメント本文 */
	margin: 10px;
	padding: 10px;
	line-height: 1.5rem;
}

#comment { /* テキストエリア */
	width: 60%;
	height: 80px;
}

#commentform p { margin: 10px; }

.cominfo { /* コメントメタ */
	text-align: right;
	margin-top: 30px;
	font-size: 0.85rem;
}
/* ブログリスト型 */

#bloglistwrap .article{
	margin:0 5px 10px 5px;
	width:205px;
	padding:10px;
}
#bloglistwrap .post-meta{
	text-align:left;
}
#bloglistwrap .post-content{
	padding-bottom:0;
}
/* ブログ1行型 */
.page-lined-blog {
}
.page-lined-blog .article{
	margin:0 5px 20px;
	padding:15px;
	display: -webkit-box;/* Android4.3以前ブラウザ用 */
	display: -webkit-flex;/* iOS8以前Safari用 */
	display: flex;
	-webkit-flex-wrap:wrap;/*--- safari（PC）用 ---*/
	flex-wrap:wrap;
	-webkit-justify-content:space-between;/*--- safari（PC）用 ---*/
	justify-content:space-between;

}
.page-lined-blog .article-left{
	width: 30%;
}
.page-lined-blog .article-right{
	width: 68%;
}
.page-lined-blog .post-meta{
	text-align:left;
}
.page-lined-blog .post-content{
	padding-bottom:0;
}





@media screen and (max-width:768px)  and (min-width:641px) {

/* ------------------------------------------
	タブレット用ポートレート表示のスタイル記述
--------------------------------------------- */
body { }

#first_view{

}

/* Navigation
------------------------------------ */

#header .inner {
	margin: 0 auto 20px;
	width: 100%;
}

#breadcrumb {
	margin: 20px auto 10px;
	width: 96%;
}

.container { width: 98%; margin: 30px 1%; }

.column-right #main, .column-left #main {
	margin: 0 auto;
	float: none;
	width: 96%;
}

.column-right .sidebar, .column-left .sidebar {
	margin: 0 auto;
	width: 96%;
	float: none;
}

#pagetop {
	margin: 30px auto;
	width: 96%;
	text-align: right;
}

.side-banner {
	margin: 20px 0;
	overflow: hidden;
}

.side-banner p {
	float: left;
	margin: 0 1%;
	max-width: 30%;
	height: auto;
}

/* index */
.cont03 {
	margin-bottom: 20px;
	overflow: hidden;
}

.cont03 li {
	margin-right: 5%;
	width: 30%;
	padding-bottom: 50px;
	float: left;
	position: relative;
}

.cont03 li:last-child { margin-right: 0; }

.cont02>ul>li {
	margin-right: 5%;
	width: 47.5%;
	padding-bottom: 50px;
	float: left;
	position: relative;
}

/* 1カラム用スタイル */
.column-one .cont02 { width: 100%; }

.column-one .cont02>ul>li {
	margin: 0 2%;
	width: 46%;
}

.column-one .cont02>ul>li .inner-cont02 {
	width: 100%;
	overflow: hidden;
}

.column-one .cont02>ul>li .inner-cont02>li { width: 100%; }

.column-one .cont04 { overflow: hidden; }

.column-one .cont04>ul { width: 100%; }

.column-one .cont04>ul>li {
	margin: 0 1%;
	width: 23%;
	float: left;
}
}

@media screen and (max-width:1200px) {
	footer .container{flex-direction: column;}
}

@media screen and (max-width:640px) {

.pc_block{
	display: none;
}

.sp_block{
	display: block;
}

/* ------------------------------------------
	スマホ用のスタイル記述
--------------------------------------------- */
.pc { display: none; }
.mobile { display: block; }

.m-ctr {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 15px;
	text-align: center;
}



/* Header */
#pagehead{}

header {}

.head_contents	{
	/*width: 960px;*/
	margin:0 2%;
}



.head_logo {}
.head_logo img{height: 40px;}

.head-info{display: none;}

#btn-menu p {margin-top: 0;}

/* Navigation
------------------------------------ */
#navigation{float: none;display: none;position: fixed;background:rgba(255,255,255, 0.95);width: 100%;height: 100%;top:0;right: 0;z-index: 100;padding: 100px 15px 15px 15px;box-shadow: 0 0 5px #aaa;}
#navigation.open_menu {display: block;z-index: 90;}
#navigation ul{display: flex;flex-wrap: wrap;}
#navigation li{margin: 5px 0;min-width: 100%;}
#navigation li a{font-size:1rem;width: 100%;background: #F4955C;color: #fff;padding: 10px 0;margin: 0;}
#navigation li .sub-menu li{margin: 5px 5px 5px 30px;}
#navigation li .sub-menu li a{font-size:0.9rem;}
#navigation .nav-container{margin: 15px auto;flex-direction: column;}
#navigation .nav-container .menu-wrap{padding: 0;}


body {

}


#body-inside{

}

#breadcrumb {
	margin: 10px 3%;
	width: 94%;
	font-size: 0.8rem;
}

.top_margin {
	height: 80px;
	width: auto;
}


/* FlexSlider */
.flexslider {
	padding: 10px;
	background: none;
	height: 150px;
}

.container {
	margin: 0 1%;
	width: 98%;
}

.contents-box{
	padding: 30px 2%;
}

.contents-box h2{font-size:1.8rem;margin: 10px auto;}
.contents-box h3{font-size: 1.5rem;}
.contents-box h4{font-size: 1.3rem;}
.contents-box h5{font-size: 1.1rem;}
.contents-box p{line-height: 1.8rem;}

.contents-box .section-title{font-size: 2.5rem;}
.contents-box .section-title span{font-size: 1rem;}
.contents-box .sub-title .inner{font-size: 1.8rem;}
.contents-box .sub-title .en{font-size: 2.5rem;}
.contents-box .center-midashi{position: relative;text-align: center;padding-bottom:10px;margin: 30px auto;}
.contents-box .center-midashi:after{display: block;content: "";width: 200px;height: 0;border:1px solid;position: absolute;bottom: 0;left: 0;right: 0;margin: auto;}

.bnr-list{display: flex;flex-direction: column;}
.bnr-list li{width: 94%;margin: 5px 3%;}

.btn_basic.two-btn{flex-wrap: wrap;}
.btn_basic.two-btn a{width: calc(98% - 30px);max-width: none;margin: 5px auto;}
.btn_basic.one-btn a{width: calc(98% - 45px);margin: 15px auto;}

.flex-two{display: flex;flex-wrap: wrap;margin: 30px auto;}
.flex-two.flex-rev{flex-direction: row;}
.flex-two .image{width: 100%;}
.flex-two .text{width: 96%;margin: auto 2%;}


/* Footer
------------------------------------ */
footer {}
footer .footer-logo{text-align: left;width: 98%;margin: auto;}
footer .footer-info{width: 98%;margin: auto;}

.copyright {padding: 5px;font-size: 0.8rem;}



/* pagetop button */
#pageTop {position: fixed;bottom: 90px;right: 20px;z-index: 999;}
#pageTop img{width: 80px;}
#pageTop i {padding-top: 6px}
#pageTop a {display: block;background-color: rgba(255,255,255,0.50);border-radius: 10px;}
#pageTop a:hover {text-decoration: none;opacity: 0.7;}

/* mobile btn */
#footer-btn{height: 65px;background: #0442A5;position: fixed;bottom: 0;left: 0;right: 0;z-index: 99;padding: 5px;}
#footer-btn .btn-box{display: flex;justify-content: space-between;}
#footer-btn .btn-box a{display: flex;border: 1px solid;color: #fff;text-decoration: none;width: 49%;justify-content: center;align-items: center;}
#footer-btn .btn-box a .mail{letter-spacing: -0.1rem;font-size: 0.9rem;}

/* TOPコンテンツ */
#home-links{margin: 50px auto;}
#home-links .link-wrap .left{width: 100%;}
#home-links .link-wrap .left .left-t{width: 100%;margin: 0 0 10px 0;}
#home-links .link-wrap .left .left-l,
#home-links .link-wrap .left .left-r{width: 48%;margin: 0;}
#home-links .link-wrap .right{width: 100%;}
#home-links .link-wrap .right .right-t{width: 100%;margin: 0 0 10px 0;}

.news-wrap .news-list{display: flex;margin: 30px auto;flex-wrap:wrap;}
.news-wrap .news-list li{width: 48%;margin: 15px auto;}

/* 下層ページ
----------------------------- */
.childhead{}
.childhead .section-title{font-size: 2rem;}

.basic-table{margin: 30px auto;}
.basic-table th{padding: 10px 5px;vertical-align: top;border-bottom:1px solid #aaa;font-weight: bold;}
.basic-table td{padding: 10px 5px;vertical-align: top;border-bottom:1px solid #aaa;}

/* 問い合わせ
----------------------------- */
#contact-tel,#mailform{margin: 50px auto;}

.mailform-tbl {padding: 15px 10px;margin: 10px auto;}
.mailform-tbl table{clear: both;	margin-bottom: 20px;width: 100%;border-spacing: 0 10px;}
.mailform-tbl caption{font-size: 1.5rem;font-weight: bold;}
.mailform-tbl th, .mailform-tbl td {display: block;pa}
.mailform-tbl th { width: 100%;padding: 5px 0 0 0;}
.mailform-tbl td { width: 100%;padding: 0 0 5px 0;}
.mailform-tbl .form-age{width: 5em;}
input, select { margin-right: 3px; outline: 1px solid #ccc;padding: 3px 5px;}
textarea { outline: 1px solid #ccc; }


#submit-button {text-align: center;width: 100%;}
#submit-button input {padding: 10px 50px;display:block;width: 80%;margin: auto 10%;}

.wpcf7cp-btns {text-align: center;width: 100%;}
.wpcf7cp-btns button {color: #fff;padding: 10px 50px;border-radius: 10px;display:block;width: 80%;margin: auto 10%;}
.wpcf7cp-btns button:hover {opacity: 0.9;}



/* ブログ
----------------------------- */
.contents-box .blogtitle{
	font-size:1.5rem;
	padding: 10px;
	font-weight: bold;
	color:#333;
	line-height: normal;
}

.article {
	padding: 20px;
	margin-bottom: 50px;
	border-radius: 5px;
}

.ddcatlist select{
	display: block;
	width: 90%;
	margin: 20px auto;
	border: 1px solid #777;
}

.article .post-meta { /* 記事メタ情報 */
	text-align: left;
	font-size: 0.8rem;
}

.article .post-content { word-wrap: break-word; }

.wp-pagenavi { /* ページ送り */
	margin: 50px 0 20px;
	text-align: center;
	font-size: 0.8rem;
}

#single-paging {/* 詳細ページ送り */ }

#signature-block { /* ブログ署名欄 */
	clear: both;
	padding: 50px 0 0;
}
	.article-left{
		text-align: center;
	}




}

/*モーダルウィンドウ*/
.s_img_modal{
  cursor: pointer;
}
#simple_modal_outer{
	z-index: 99;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, .5);
}
#simple_modal_inner{
  box-sizing: border-box;
  max-width: 90%;
  max-height: 90%;
  border: 5px solid white;
}
#loading_mes{
  color: white;
  font-size: 1.2rem;
}
.flex{
  display: flex;
}
.hide{
  display: none;
}


@media all and (max-width:1200px) {

}

.spbr{display: none;}
@media screen and (max-width:768px) {
    .spbr{display: block;}
}
