@charset 'utf-8';
/*
Theme Name: Natuhara
*/

/*リセット*/
*{margin:0;padding:0;}*,::before,::after{box-sizing:border-box}*:where(:not(fieldset,progress,meter)){border-width:0;border-style:solid;background-origin:border-box;background-repeat:no-repeat}
html{block-size:100%;-webkit-text-size-adjust:none}
@media(prefers-reduced-motion:no-preference){html:focus-within{scroll-behavior:smooth}}
body{text-rendering:optimizeSpeed;min-block-size:100%}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,svg,video){block-size:auto;max-inline-size:100%}:where(svg){stroke:none;fill:currentColor}:where(svg):where(:not([fill])){stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round}:where(svg):where(:not([width])){inline-size:5rem}:where(input,button,textarea,select),:where(input[type="file"])::-webkit-file-upload-button{color:inherit;font:inherit;font-size:inherit;letter-spacing:inherit;word-spacing:inherit}:where(textarea){resize:vertical}
@supports(resize:block){:where(textarea){resize:block}}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}
h1{font-size: clamp(2.4rem, calc(2.2rem + 0.625vw), 2.9rem);}:where(ul,ol){list-style-position:inside}:where(ul,ol)[role="list"]{list-style:none}
a:not([class]){text-decoration-skip-ink:auto}:where(a[href],area,button,input,label[for],select,summary,textarea,[tabindex]:not([tabindex*="-"])){cursor:pointer;touch-action:manipulation}:where(input[type="file"]){cursor:auto}:where(input[type="file"])::-webkit-file-upload-button,:where(input[type="file"])::file-selector-button{cursor:pointer}
@media(prefers-reduced-motion:no-preference){:focus-visible{transition:outline-offset 145ms cubic-bezier(0.25,0,0.4,1)}:where(:not(:active)):focus-visible{transition-duration:0.25s}}:where(:not(:active)):focus-visible{outline-offset:5px}:where(button,button[type],input[type="button"],input[type="submit"],input[type="reset"]),:where(input[type="file"])::-webkit-file-upload-button,:where(input[type="file"])::file-selector-button{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;text-align:center}:where(button,button[type],input[type="button"],input[type="submit"],input[type="reset"])[disabled]{cursor:not-allowed}

html {
	font-size: 62.5%;
	overflow-y: scroll;
}
body {
	font-family: Helvetica, Arial, sans-serif;
	text-rendering: optimizeLegibility;
	font-size: clamp(1.6rem, calc(1.4rem + 0.625vw), 1.9rem);
	-webkit-font-feature-settings: 'palt';/*フォント文字詰調整*/
	font-feature-settings: 'palt';
	-webkit-text-size-adjust: 100%;/*スマホ横向き文字調整*/
	text-size-adjust: 100%;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
/*=========  リンク  =========*/
a:hover img{opacity:0.8;transition:0.3s;}
a:link,a:visited{
	color:#0099ff;
}
a:hover,a:visited:hover,a:active{
	background-position: 0 100%;
	color: #333;
	text-decoration:none;
}
.mobilemenu-box a:link,.mobilemenu-box a:visited{
	color:#555;
	text-decoration:none;
}
.mobilemenu-box a:hover,.mobilemenu-box a:visited:hover,.mobilemenu-box a:active{
	color: #888;
	text-decoration:none;
}


/*=========  フォント  =========*/
.font8 {font-size: clamp(1rem, calc(0.5rem + 0.625vw), 1.2rem);}
.font10 {font-size: clamp(1.3rem, calc(1.1rem + 0.625vw), 1.5rem);}
.font20 {font-size: clamp(1.8rem, calc(1.6rem + 0.625vw), 2.3rem);}
.font25 {font-size: clamp(2.1rem, calc(1.9rem + 0.625vw), 2.6rem);}
.font30 {font-size: clamp(2.2rem, calc(2.1rem + 0.625vw), 2.9rem);}
.font35 {font-size: clamp(2.9rem, calc(2.7rem + 0.625vw), 3.4rem);}
.font40 {font-size: clamp(3.4rem, calc(3.2rem + 0.625vw), 3.9rem);}
.font45 {font-size: clamp(3.9rem, calc(3.7rem + 0.625vw), 4.4rem);}
.font50 {font-size: clamp(4.4rem, calc(4.2rem + 0.625vw), 4.9rem);}
h2{font-size: clamp(1.2rem, calc(1rem + 0.625vw), 1.7rem);font-weight:normal;}
.mincho{font-family: serif;}
.bold{font-weight:bold;}
.font-orange{color:#ff9900;}
.font-white{color:#fff;}
.font-red{color:#ee0000;}
.text-center{text-align:center;}

/*=========  見た目処理  =========*/
.box-grayborder{
	border:1px solid #eee;
}
.box-whiteborder{
	border:1px solid #fff;
}
.box-shadow{
	box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.15);
}
.border-radius{
	border-radius:5px;
}
.border-radius-top{
	border-radius: 5px 5px 0 0;
}
.border-radius-bottom{
	border-radius: 0 0 5px 5px;
}
.width80box {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
	padding:0 20px;
    display: block;
}
.width80height10box {
    width: 100%;
	height:auto;
    max-width: 1200px;
    margin: 10% auto;
	padding:0;
    display: block;
}
.width80height10box-top {
    width: 100%;
	height:auto;
    max-width: 1200px;
    margin: 5% auto 10% auto;
	padding:0;
    display: block;
}
.width80height20box {
	height:auto;
 ? ?margin: 0 auto 10% auto;
	padding:0 0 0 20px;
    display: block;
}
.width80boxnop {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
	padding:0;
    display: block;
}
.width100box {
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 0;
    display: block;
}
.relative{
	position:relative;
}
.fixed{
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
}
.flex-box,
.flex-box-kotei{
	width:100%;
	height:auto;
	display:flex;
	flex-wrap:wrap;
	justify-content:start;
	margin:10px -10px;
}
.flex-box-kotei-menu{
	width:100%;
	height:auto;
	display:flex;
	flex-wrap:wrap;
	justify-content:start;
	margin:0 auto;
}
.box-3to1,
.box-3to2{
	width:calc(100% / 3 - 20px);
	margin:10px;
	height:auto;
	display:flex;
	flex-direction:column;
}
.box-2,
.box-2to1{
	width:calc(100% / 2 - 20px);
	margin:10px;
	height:auto;
	display:flex;
	flex-direction:column;
}
.box-3to3{
	width:calc(100% / 3);
	margin:0;
	padding:5px 0;
	border:1px solid #ccc;
	height:auto;
	display:flex;
	flex-direction:column;
	background-image: linear-gradient(180deg, rgba(229, 229, 229, 1), rgba(250, 250, 250, 1));
}
.mobilemenu-box{
	font-size:12px;
	line-height:110%;
}
.padding-10-box{
	padding:10px;
}
.margin-w10box{
	margin-left:10px;
	margin-right:10px;
}
.flex-grow{
	flex-grow: 1;
}
.seikiback{
	width:100%;
	height:auto;
	display:block;
	background-color:#eee;
	color:#777;
	position:relative;
	z-index:0;
}
.sideacobox{
	border-radius:5px;
	background:#efefef;
	border:1px solid #ccc;
	width:100%;
	display:block;
	margin-bottom:20px;
}
.left50{
	float:left;
	width:50%;
}
.right50{
	float:right;
	width:50%;
}
.left70box,
.left70kotei{
	float:left;
	width:70%;
}
.right30box,
.right30kotei{
	float:right;
	width:30%;
	display:block;
	word-wrap: break-word;
}

.displayblock{
	width:100%;
	display:block;
	position:relative;
}
.hidden{
	overflow:hidden;
}
.padding5{
	padding:5px;
}
.bottom20{
	margin-bottom:20px;
}
.indent {
	text-indent: -1.25em;
	padding-left: 1.25em;
}
.margincenter{
	margin:0 auto;
}
.margincenter img{
	margin:0 auto;
}
.riyuu-box{
	width:100%;
	height:auto;
	display:block;
	overflow:hidden;
	background:url(images/riyuu4.png) no-repeat right bottom;
}
.tokucho-box{
	width:100%;
	height:auto;
	display:block;
	overflow:hidden;
	background:url(images/nifty-tokucho.png) no-repeat right bottom;
}
.riyuu-contents{
	width:70%;
	height:auto;
	margin:0 0 10px 0;
	background:#fff;
	padding:10px;
	float:left;
	border-radius:10px;
	position: relative;
}
.riyuu-contents-triangle {
	display: block;
	height: 0;
	width: 0;
	position: absolute;
	bottom: 0;
	right: 0;
	border-left: 15px solid transparent;
	border-bottom: 15px solid #158b2b;
}
.riyuu-rightimage{
	float:right;
}
.riyuu-rightimage img{
	max-width:150px;
}
.tokucho-contents{
	width:70%;
	height:auto;
	margin:0 0 10px 0;
	background:#fff;
	padding:10px;
	float:left;
	border-radius:10px;
	border:2px solid #000080;
	position: relative;
}
.tokucho-contents-triangle {
	display: block;
	height: 0;
	width: 0;
	position: absolute;
	bottom: 0;
	right: 0;
	border-left: 17px solid transparent;
	border-bottom: 17px solid #000080;
}
.riyuu-contents:last-child,
.tokucho-contents:last-child{
	margin:0;
}
.haba100image{
	width: 100vw;
	height:100%;
	margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
	display:block;
	overflow:hidden;
	position:relative;
}
.rightlink{
	display:block;
	text-align:right;
}
/*ボタン*/
.btn,
.btn2,
a.btn,
a.btn2,
button.btn,
button.btn2{
	max-width:300px;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	display: inline-block;
	padding: 5% 1rem;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	border-radius: 0.5rem;
}
a.btn--green {
	color: #fff;
	background-color: #094;
}
a.btn--green:hover {
	background: #00a349;
}
a.btn--orange {
	color: #fff;
	background-color: #ff9900;
}
a.btn--orange:hover {
	background: #ff5500;
}

a.btn-c {
	position: relative;	
}
a.btn-c i {
	margin-right: 1.2rem;
	color:#fff;
}
a.btn-g {
  border: 1px solid #1b7e40;
  border-radius: 1rem;
  background: #1b7e40;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(50%, #1b7e40), to(#20b958));
  background: -webkit-linear-gradient(bottom, #1b7e40 50%, #20b958 100%);
  background: linear-gradient(0deg, #1b7e40 50%, #20b958 100%);
  -webkit-box-shadow: inset 0 1px 1px rgba(255, 255, 255, .6), 0 5px 10px rgba(0, 0, 0, .1);
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, .6), 0 5px 10px rgba(0, 0, 0, .1);
}
a.btn-g:link,a.btn-g:visited{color:#fff;}
a.btn-g:hover,a.btn-g:visited:hover{color:#ff9900;}
a.btn-border {
	padding: 1rem;
	margin:10px;
	border: 2px solid #000;
	border-radius: 0;
	border-radius: 100vh;
	background: #fff;
}
a.btn-border:hover{color:#555;}
a.btn-border:before {
	position: absolute;
	top: 2px;
	left: 2px;
	width: calc(100% - 4px);
	height: calc(100% - 4px);
	content: '';
	-webkit-transition: all .3s;
	transition: all .3s;
	border: 2px dotted #000;
	border-radius: 100vh;
}
a.btn-border:hover:before {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
a.btn--pushorange {
  color: #fff;
  background-color: #eb6100;
  border-bottom: 5px solid #b84c00;
}
a.btn--pushorange:hover {
  margin-top: 3px;
  color: #fff;
  background: #f56500;
  border-bottom: 2px solid #b84c00;
}
a.btn--shadow {
  -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
  box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
}

/*ボーダー*/
.borderline-dashed{
	border-top:1px dashed #333;
	padding-bottom:20px;
	display:block;
}

/*画像*/
.inner-photo{
	width: 100%;
	aspect-ratio: 5 / 2;
	margin: 0 auto;
	position: relative;
	display:block;
	overflow:hidden;
}
.inner-photo img{
	width:100%;
	height:100%;
	object-fit: cover;
}

/*背景*/
.background-blue{
	background-image: linear-gradient(150deg, rgba(8, 40, 170, 1) 10%, rgba(14, 32, 121, 1) 40%, rgba(40, 40, 165, 1) 68%, rgba(3, 14, 119, 1) 90%);
}
.background-white{
	background:#fff;
}
.background-gray{
	background:#efefef;
}
.background-yellow{
	background-color: #fff;
	background-image: radial-gradient(#ffff99 24%, transparent 25.5%), radial-gradient(#ffff99 24%, transparent 25.5%);
	background-position: 0 0, 4px 4px;
	background-size: 8px 8px;
	background-repeat:repeat;
	
}
.background-grad02{
	background-image: radial-gradient(circle, rgba(255, 242, 58, 1), rgba(224, 162, 8, 1) 80%);
}
.background-grad03{
	background-image: linear-gradient(90deg, rgba(253, 219, 146, 1), rgba(209, 253, 254, 1));
}
/*アコーディオン*/
.aco {
	position: relative;
	margin-bottom: 1px;
	width: 100%;
	color: #555;
	overflow: hidden;
	font-size: clamp(1.3rem, calc(1.1rem + 0.625vw), 1.5rem);
}
a.acolabel:link,a.acolabel:visited{
	position: relative;
	display: block;
	padding: 12px 0 12px 1em;
	font-weight: bold;
	line-height: 2;
	cursor: pointer;
	background:#fff;
	border-top:1px solid #ccc;
	text-decoration:none;
	color:#777;
}
a.acolabel:hover,a.acolabel:visited:hover{
	color:#555;
	background:#CCFFFF;
	text-decoration:none;
}
input.acoinput {
	position: absolute;
	opacity: 0;
	z-index: -1;
}
label.acolabel {
	position: relative;
	display: block;
	padding: 0 0 0 1em;
	font-weight: bold;
	line-height: 4;
	cursor: pointer;
	background-color:#fff;
	border-top:1px solid #ccc;
}
.tab-content {
	max-height: 0;
	overflow: hidden;
	-webkit-transition: max-height .35s;
	-o-transition: max-height .35s;
	transition: max-height .35s;
}
.tab-content a:link,.tab-content a:visited{
	width:100%;
	line-height: 4;
	padding:0 20px;
	display:block;
	background:#EEFFFF;
	text-decoration:none;
	color:#555;
	border-top:1px solid #ccc;
}
.tab-content a:hover,.tab-content a:visited:hover{
	background:#CCFFFF;
	text-decoration:none;
	color:#777;
}
.tab-content p {
	margin: 1em;
}
/* :checked */
input.acoinput:checked ~ .tab-content {
	max-height: 100%;
}
/* Icon */
label.acolabel::after {
	position: absolute;
	right: 0;
	top: 0;
	display: block;
	width: 3em;
	height: 3em;
	line-height: 5;
	text-align: center;
	-webkit-transition: all .35s;
	-o-transition: all .35s;
	transition: all .35s;
}
input.acoinput[type=checkbox] + label.acolabel::after {
	content: "+";
}
input.acoinput[type=radio] + label.acolabel::after {
	content: "\25BC";
}
input.acoinput[type=checkbox]:checked + label.acolabel::after {
	transform: rotate(315deg);
}
input.acoinput[type=radio]:checked + label.acolabel::after {
	transform: rotateX(180deg);
}

/*=========  タイトル  =========*/
.left-border-title555{
	padding: 0.25em 0.5em;
	background: transparent;
	border-left: solid 5px #555;
	font-weight:bold;
}
.left-border-title-green {
	padding: 0.1em 0.5em;/*上下 左右の余白*/
	margin-bottom:10px;
	background: transparent;/*背景透明に*/
	border-left: solid 5px #158b2b;
	font-weight:bold;
}
.left-border-title-blue {
	padding: 0.1em 0.5em;/*上下 左右の余白*/
	margin-bottom:10px;
	background: transparent;/*背景透明に*/
	border-left: solid 5px #000080;
	font-weight:bold;
}
.underborder-title {
	position: relative;
	display: block;
	margin-bottom: 1em;
	text-align:center;
	margin:0 auto;
	line-height:110%;
}
.underborder-title:before {
	content: '';
	position: absolute;
	bottom: -12px;
	display: inline-block;
	width: 20%;
	height: 5px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: black;
	border-radius: 2px;
}
.text-center img{
	margin:0 auto;
}
h2.kakko {
	position: relative;
	color: #158b2b;
	padding: 10px 0;
	text-align: center;
	margin: 1.5em 0;
}
h2.kakko:before {
	content: "";
	position: absolute;
	top: -8px;
	left: 50%;
	width: 150px;
	height: 120%;
	border-radius: 50%;
	border: 5px solid #a6ddb0;
	border-left-color: transparent;
	border-right-color: transparent;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.title-naname-blue {
	font-weight: bold;
	border: 3px solid #000080;
	padding: 0.5em 1em 0.5em calc(1em + 10px);
	position: relative;
	color:#000080;
	border-radius:5px;
}
.title-naname-blue::before {
	content: '';
	background-color: #000080;
	background: repeating-linear-gradient( -45deg, #000080, #000080 5px, #ffffff 5px, #ffffff 10px );
	width: 20px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}


/*=========  ヘッダー  =========*/
header{
	width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
	position: relative;
}
.topheadbox{
	position:relative;
}
.header-in-box{
	display:block;
}
.header-in {
	width: 100%;
	display: flex;
	align-items: center;
	margin: 0 auto;
	position: relative;
	z-index:3;
}
.header-left {
	width: 58%;
	display: block;
	padding: 5px;
}
.header-center {
	width: 25%;
	display: grid;
	justify-content: flex-end;
	padding: 5px;
}
.header-right {
	width: 17%;
	display: grid;
	justify-content: flex-end;
	padding: 5px;
}
.header-left h1 {
	width: auto;
	max-width: 100%;
	height: auto;
}
.header-left h1 a img {
	width: 100%;
	height: auto;
	max-width:320px;
}
.header-right a img{
	width: 100%;
	height: auto;
	max-width: 390px;
	margin: 0 0 0 auto;
}


/*=========  グローバルナビゲーション  =========*/
#navheader {
	width:100%;
	display: block;
	background-image: linear-gradient(150deg, rgba(8, 40, 170, 1) 10%, rgba(14, 32, 121, 1) 40%, rgba(40, 40, 165, 1) 68%, rgba(3, 14, 119, 1) 90%);
	z-index:10;
}
#navheader a img {
	transition: transform 0.5s ease-in-out
}
#navheader a img:hover {
	transform: rotateX(360deg)
}
.entry-content nav>ul {
	margin: 0;
}
#navheader>a {
	position: fixed;
	top: 18px;
	left: 15px;
	z-index: 1;
}
/*ナビゲーションドロップダウンのためのCSS*/
nav {
	color: #fff;
	text-align: center;
}
/*ナビゲーションを横並びに*/
nav ul {
	list-style: none;
	justify-content: center;
	width: 100%;
	left: 0;
	margin: 0;
}
nav ul#g-navi{
	display: flex;

}
/*2階層目以降は横並びにしない*/
nav ul ul {
	display: block;
}
nav ul li {
	min-width:16.6%;
	height:auto;
	position: relative;
	font-size: clamp(1.1rem, calc(1.0rem + 0.625vw), 1.5rem);
	font-weight:bold;
}
nav ul li a {
	display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
	justify-content: center;
	height:100%;
	text-decoration: none;
	color: #ccc;
	padding: 20px 10px;
	transition: all .3s;
}
nav ul li a:link,nav ul li a:visited{color:#fff;text-decoration: none;background:none;}
nav ul li a:hover,nav ul li a:visited:hover,nav ul li a:active{color:#ccc;text-decoration: none;background:none;}
nav ul li a::before,nav ul li a::after{display:none}
.subbutton{font-size: clamp(1rem, calc(0.6rem + 0.625vw), 1.2rem);}
nav ul li li a {
	padding: 10px 10px;
}
nav ul li a:hover {
	color: #ff9900;
}

/*==矢印の設定*/
/*2階層目を持つliの矢印の設定*/
nav ul li.has-child::before {
	content: '';
	position: absolute;
	left: 5px;
	top: 45%;
	width: 6px;
	height: 6px;
	border-top: 2px solid #999;
	border-right: 2px solid #999;
	transform: rotate(135deg);
}
/*3階層目を持つliの矢印の設定*/
nav ul ul li.has-child::before {
	content: '';
	position: absolute;
	left: 6px;
	top: 45%;
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}
/*== 2・3階層目の共通設定 */
/*下の階層を持っているulの指定*/
nav li.has-child ul {
	position: absolute;
	left: 0;
	z-index: 4;
	background: #ccc;
	width:100%;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
	margin: 0;
}
/*hoverしたら表示*/
nav li.has-child:hover>ul,
nav li.has-child ul li:hover>ul,
nav li.has-child:active>ul,
nav li.has-child ul li:active>ul {
	visibility: visible;
	opacity: 1;
}
/*ナビゲーションaタグの形状*/
nav li.has-child ul li a {
	color: #333;
	border-bottom: solid 1px rgba(255, 255, 255, 0.6);
	font-weight:noemal;
}
nav li.has-child ul li:last-child a {
	border-bottom: none;
	font-weight:noemal;
}
nav li.has-child ul li a:hover,
nav li.has-child ul li a:active {
	color: #fff;
	background: #3577CA;
}
/*3階層目の位置*/
nav li.has-child ul ul {
	top: 0;
	left:100%;
	background: #66ADF5;
}
nav li.has-child ul ul li a:hover,
nav li.has-child ul ul li a:active {
	background: #448ED3;
}
.menu-under-box{
	padding:10% 0 0 0;
}

/*=========  コンテンツ  =========*/
.contents-body{
	width:100%;
	height:auto;
	display:block;
	overflow:hidden;
}
.contents-box{
	width:100%;
	height:auto;
	display: flex ;
	justify-content: center ;
	align-items: center ;
	z-index:3;
	position:relative;
}
.moushikomi{
	width:100%;
	height:auto;
	max-width:780px;
	margin:40px auto;
	padding:2px;
	display:block;
	border-radius:10px;
	background-image: linear-gradient(90deg, rgba(253, 219, 146, 1), rgba(209, 253, 254, 1));
}
.moushikomi-in{
	width:100%;
	height:auto;
	display:block;
	overflow:hidden;
}
.imasugu img{
	width:100%;
	margin:5px auto;
	padding:0 20px;
	max-width:450px;
}
.moushikomi-in-flex{
	width:100%;
	height:auto;
	display:flex;
	flex-wrap:wrap;
	justify-content:start;
	margin:0;
}
.moushikomi-in-left{
	width:calc(100% / 2 + 11%);
	margin:0 10px;
	height:auto;
	display:flex;
	flex-direction:column;
}
.moushikomi-in-right{
	width:calc(100% / 2 - 16%);
	margin:0 0 0 10px;
	height:auto;
	display:flex;
	flex-direction:column;
}
.moushikomi-in-right img{
	width:100%;
}
.align-items-center{
	align-items: center;
	justify-content: center;
}
/*========= ?他サイト  =========*/
/* SNS */
.share{width:100%;}
.sns{max-width:250px;margin:0 auto 20px auto;text-align:center;}
.sns ul {list-style:none;}
.sns li {display:inline-block;width:20%;}
.sns li a {font-size:170%;display:block;padding:0;color:#555;text-align:center;text-decoration: none;border:none;}
.sns li a:hover {text-decoration: none;background:none;transition: .3s;}
a:hover .icon-x{
	color:#aaa;
}
a:hover .icon-x:before,
a:hover .icon-facebook:before,
a:hover .icon-line1:before,
a:hover .icon-hatenabookmark:before{
	color:#ccc;
}
/*youtube*/
.youtube-wrapperout{width:100%;margin:0 auto;}
.youtube-wrapper {position: relative;padding-bottom: 56.25%;height: 0;margin:0 auto 24px auto;}
.youtube-wrapper iframe {position: absolute;top: 0;left: 0;right: 0;width: 100%;height: 100%;}
/* googlemap */
.ggmap {position: relative;padding-bottom: 56.25%;padding-top: 30px;height: 0;overflow: hidden;} 
.ggmap iframe,.ggmap object,.ggmap embed {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}


/*=========  フッター  =========*/
footer{
	background:#ddd;
}
.footerbox {
	display: flex;
	align-items: center;
	margin: 0 auto;
	padding:20px 0;
	position: relative;
	font-size: clamp(1.3rem, calc(1.1rem + 0.625vw), 1.6rem);
}
.footer-left {
	width: 20%;
	display: block;
}
.footer-right {
	width: 80%;
	color:#555;
	display: block;
	padding-left:40px;
	margin-left:40px;
	border-left:1px solid #999;
}
.footer-left img.footlogo{
	width:100%;
	max-width:400px;
	margin:20px auto;
}
.footer-left2 {
	width: 40%;
	display: block;
}
.footer-right2 {
	width: 60%;
	color:#555;
	display: block;
	padding-left:40px;
	margin-left:40px;
	border-left:1px solid #999;
}
.footer-left2 img.footlogo{
	width:100%;
	max-width:400px;
	margin:20px auto;
}
.footer-right ul.footernav,
.privacy{
	padding:5px 0;
}
.footer-right ul.footernav li{
	display: inline-block;
	list-style: none;
	padding:5px;
	border-right:1px solid #fff;
}
.footer-right a{
	color:#555;
	text-decoration: none;
}
.footer-right a:hover{
	color:#ff0000;
	text-decoration: none;
	background:none;
}

/* ページトップ */
#page-top a{
	display: flex;
	justify-content:center;
	align-items:center;
	width:40px;
	height:40px;
	background:#555;
	border-radius:50%;
	color: #fff;
	text-align: center;
	text-decoration: none;
	font-size:3rem;
	transition:all 0.3s;
	opacity: 0.5;
}
#page-top a:hover{
	background: #777;
}
#page-top {
	position: fixed;
	right: 10px;
	bottom:10px;
	z-index: 11;
	transform: translateY(200px);
}
#page-top a i{
	margin-top:-5px;
}
#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
	from {
		opacity: 0;
	transform: translateY(100px);
	}
	to {
		opacity: 1;
	transform: translateY(0);
	}
}
#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
	from {
		opacity: 1;
	transform: translateY(0);
	}
	to {
		opacity: 1;
	transform: translateY(100px);
	}
}


/*パンくず*/
#breadcrumb{padding:5px 0 5px 0;margin:0;font-size: clamp(1rem, calc(0.5rem + 0.625vw), 1.2rem);}
#breadcrumb .fa-home,#breadcrumb .fa-angle-right{font-size: clamp(1rem, calc(0.6rem + 0.625vw), 1.2rem);}
#breadcrumb li{display:inline-block; margin-right:7px;}
.home #breadcrumb{display:none!important;height:0;padding:0;margin:0;}


/*モバイル表示*/
@media screen and (max-width: 768px) {
	.visiblePC{display:none!important;}
	.visibleMOB{display:visible;}
	/*見た目*/

	.flex-box {
		display:block;
		margin:0 auto;
	}
	.flex-box-kotei{
		width:calc(100% + 20px);
		margin:20px -10px;
	}
	.flex-box-contact{
		width:100%;
		height:auto;
		display:flex;
		flex-wrap:wrap;
		justify-content:start;
		margin:0;
	}
	
	.box-3to1,
	.box-2to1{
		width:100%;
		display:block;
		margin:20px 0;
	}
	.moushikomi-in-left,
	.moushikomi-in-right{
		width:100%;
		display:block;
		margin:10px;
	}
	.box-3to2{
		width:calc(100% / 2 - 20px);
		margin:10px;
	}
	.left50,.right50{
		width:100%;
		display:block;
	}
	.width80height10box{
		padding:0;
	}
	.width80height20box {
		height:auto;
    	margin: 10% auto;
		padding:0;
	}
	.riyuu-box,
	.tokucho-box{
		background:none;
	}
	.riyuu-contents,
	.tokucho-contents{
		width:100%;
		display:block;
	}
	/*ボタン*/
	.btn, a.btn, button.btn{
		padding: 10%;
	}
	.btn2, a.btn2, button.btn2{
		padding: 2% 0;
	}
	/*ヘッダー*/
	.header-left{width:58%;margin-right:1%;}
	.header-center{width:13%;margin:0 1%;}
	.header-right{width:13%;margin:0 1%;}
	.page-template-page-hikarikiyaku .header-right{width:30%;margin:0; font-size:12px;}
	.page-template-page-hikarikiyaku .btn{padding:5px;line-height:110%;}
	.mobilebotton{position:relative;}
	.top-mob-icon{
		font-size: clamp(2.1rem, calc(1.9rem + 0.625vw), 2.6rem);
		padding:5px ;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.seikiback{
		padding:4px 0;
	}
	/*グローバルナビゲーション*/
	#navheader {
		position: fixed;
		top:0;
		left:0;
		width: 100%;
		z-index:9998;
	}
	#navheader nav.width80box{
		width:100%;
		padding:0;
	}
	h1#Logo {
		display: none;
	}
	a.top-button {
		scale: .7;
		right: 0;
	}
	ul#g-navi {
		display: none;
		width: 100%;
	}
	.openbtn span {
		display: inline-block;
		transition: all 0.4s;
		position: absolute;
		left: calc(50% + -13px);
		height: 3px;
		border-radius: 2px;
		background-color: #555;
		width: 26px;
	}
	.openbtn span:nth-of-type(1) {
		top: calc(31% - 1px)
	}
	.openbtn span:nth-of-type(2) {
		top: calc(50% - 1px)
	}
	.openbtn span:nth-of-type(3) {
		top: calc(69% - 1px)
	}
	.openbtn.active span:nth-of-type(1) {
		top: 15px;
		left: 9px;
		transform: translateY(6px) rotate(-45deg);
		width: 60%;
		background-color: #fff;
	}
	.openbtn.active span:nth-of-type(2) {
		opacity: 0;
	}
	.openbtn.active span:nth-of-type(3) {
		top: 27px;
		left: 9px;
		transform: translateY(-6px) rotate(45deg);
		width: 60%;
		background-color: #fff;
	}
	.openbtn {
		position: fixed;
		z-index: 9999;
		top: 0;
		right: 0;
		cursor: pointer;
		width: 48px;
		height: 48px;
		border-radius: 0;
		background: rgba(249,216,42,0.2);
	}
	header#navheader>a {
		display: none
	}
	nav {
		padding: 0;
		background: rgba(0,0,0,0.2);
	}
	nav.width80box{
		width:100%;
		
	}
	nav ul li{
		text-align:left;
	}
	/*==矢印の設定*/
	/*2階層目を持つliの矢印の設定*/
	nav ul li.has-child::before {
		content: '';
		position: absolute;
		left: 5px;
		top: 45%;
		width: 6px;
		height: 6px;
		border-top: 2px solid #999;
		border-right: 2px solid #999;
		transform: rotate(135deg);
	}
	/*3階層目を持つliの矢印の設定*/
	nav ul ul li.has-child::before {
		content: '';
		position: absolute;
		left: 6px;
		top: 45%;
		width: 6px;
		height: 6px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: rotate(45deg);
	}
	/*== 2・3階層目の共通設定 */

	/*hoverしたら表示*/
	nav li.has-child:hover>ul,
	nav li.has-child ul li:hover>ul,
	nav li.has-child:active>ul,
	nav li.has-child ul li:active>ul {
		visibility: visible;
		opacity: 1;
	}
	/*ナビゲーションaタグの形状*/
	nav li.has-child ul li a {
		color: #333;
		background: #fff;
		border-bottom: solid 1px rgba(30, 30, 30, 0.6);
	}
	nav li.has-child ul li:last-child a {
		border-bottom: none;
	}
	nav li.has-child ul li a:hover,
	nav li.has-child ul li a:active {
		background: #3577CA;
	}
	/*3階層目の位置*/
	nav li.has-child ul ul {
		top: 0;
		left:100%;
		background: #66ADF5;
	}
	nav li.has-child ul ul li a:hover,
	nav li.has-child ul ul li a:active {
		background: #448ED3;
	}
	
	

	nav li.has-child ul,
	nav li.has-child ul ul {
		position: relative;
		left: 0;
		top: 0;
		width: 100%;
		visibility: visible;
		background: #28BFE7;
		margin: 0;
		/*JSで制御するため一旦表示*/
		opacity: 1;
		/*JSで制御するため一旦表示*/
		display: none;
		/*JSのslidetoggleで表示させるため非表示に*/
		transition: none;
		/*JSで制御するためCSSのアニメーションを切る*/
	}
	nav ul li a {
		display:block;
		border-bottom: 1px solid rgba(255,255,255,0.7);
		padding:10px 0 10px 40px;
	}
	nav li.has-child ul li a {
		padding-left:40px;
	}
	/*矢印の位置と向き*/
	nav ul li.has-child::before {
		top:14px;
		left: 20px;
	}
	nav ul ul li.has-child::before {
		transform: rotate(135deg);
		top:14px;
		left: 20px;
	}
	nav ul li.has-child.active::before {
		top:14px;
		transform: rotate(-45deg);
	}
	.footer-right::before{
		display:none;
	}
	.footer-right {
		width:100%;
		padding:0 20px;
		margin:0;
		border:none;
	}
	.site-info{
		text-align:center;
	}
	
	/*サイドバー*/
	.left70box{
		float:none;
		width:100%;
		padding:0;
	}
	.right30box{
		float:none;
		width:100%;
		padding:0;
	}
	/*フッター問合せ*/
	footer{
		padding-bottom:70px;
	}
	.page-template-no-link footer{
		padding-bottom:10px;
	}
	#footer-contact {
		position: fixed;
		bottom: -90px;
		text-align:left;
		width: 100%;
		height: 90px;
		color: #fff;
		background-image: linear-gradient(150deg, rgba(8, 40, 170, 1) 10%, rgba(14, 32, 121, 1) 40%, rgba(40, 40, 165, 1) 68%, rgba(3, 14, 119, 1) 90%);
		box-sizing: border-box;
		transition: .5s; /* アニメーションタイミング */
		z-index:10;
	}
	#footer-contact.is-show {
		bottom: 0;
	}
	.text-toushatokuten{
		padding-top:10px;
		text-align:center;
		font-weight:bold;
	}
	/*フッターページトップ位置変更*/
	#page-top {
		bottom:0;
	}
	@keyframes UpAnime{
		from {
			opacity: 0;
			transform: translateY(200px);
		}
		to {
			opacity: 1;
			transform: translateY(-100px);
		}
	}
	
	.footer-left2 {
		display:none;
	}
	.footer-right2 {
		width: 100%;
		padding:0 10px;
		margin:0;
		border:none;
		text-align:center;
	}

}


/*タブレット表示*/
@media screen and (min-width: 769px) and (max-width: 1024px){
	
}


/* MOB非表示 */
@media screen and (min-width: 769px){
	.visibleMOB{display:none;}
	
	/*ナビメニュー*/
	.uLine-center:after {
		content: '';
		position: absolute;
		left: 50%;
		bottom: 0;
		transform: translateX(-50%);
		width: 0%;
		height: 2px;
		background: #f46400;
		transition: all 0.5s;
	}
	.uLine:hover .uLine-center:after {
		width: 100%;
	}
	#navheader nav ul li.has-child::before {
		position: relative;
		border: none;
	}
	#navheader nav ul li.has-child ul{
		display:none;
	}
	#footer-contact{
		display:none;
	}
}
@media screen and (min-width: 769px) and (max-width: 1000px){
	.moushikomi-in-left{padding-bottom:20px;}
	.moushikomi-in-right{
		width:calc(100% / 2 - 17%);
	}
}
/*PC表示*/
@media screen and (min-width: 1025px){


}

