@charset "utf-8";
/* -----------------------------------
    アイコンフォント
   ----------------------------------- */
@import url("../plugins/font-awesome/css/font-awesome.min.css");

/* -----------------------------------
    汎用クラス
   ----------------------------------- */
html{background-color: #ffffff;}
body {
	font-size: 16px;
	-webkit-text-size-adjust : none;
	margin: 0;
	color: #333333;
	text-align: justify;
	text-justify: inter-ideograph;
	/*font-feature-settings: "palt";*/
	line-height: 1.8;
	/*font-family:"Shuei Mincho L" , 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,"ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝",メイリオ,Meiryo,serif;*/
	font-family:游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,"ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝",メイリオ,Meiryo,serif;
	animation: fadeIn 1.5s ease 0s 1 normal;
  }
  @keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
  }
  @-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
  }
body p,body li,body table { 
	text-justify: inter-ideograph;}
@media screen and (max-width: 480px) {
body p,body li,body table { font-size: 16px; }	
}

.mincho{
	font-family:'Shuei Mincho L',游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,"ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝",メイリオ,Meiryo,serif;
}
.gothic{
	font-family: A1 Gothic M , '游ゴシック体', 'Yu Gothic', 'YuGothic', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
}

.w100 {width: 100%;}

.w70 {width: 70%;}
.w60 {width: 60%;}
.w50 {width: 50%;}
.w40 {width: 40%;}
.w30 {width: 30%;}
.w33 {width: 33%;}

.w90-w100 {width: 90%; margin-left: auto; margin-right: auto;}
.w80-w100 {width: 80%; margin-left: auto; margin-right: auto;}
.w70-w100 {width: 70%; margin-left: auto; margin-right: auto;}
.w60-w100 {width: 60%; margin-left: auto; margin-right: auto;}
.w50-w100 {width: 50%; margin-left: auto; margin-right: auto;}
.w40-w100 {width: 40%; margin-left: auto; margin-right: auto;}
.w30-w100 {width: 30%; margin-left: auto; margin-right: auto;}

.w30-w50 {width: 30%;}
.w30-w70 {width: 30%;}

.mb0 {margin-bottom: 0 !important;}
.mb5 {margin-bottom: 5px !important;}
.mb10 {margin-bottom: 10px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb30 {margin-bottom: 30px !important;}
.mt0 {margin-top: 0 !important;}
.mt10 {margin-top: 10px;}
.mt20 {margin-top: 20px;}
.mt30 {margin-top: 30px;}
.ml10 {margin-left: 10px;}
.ml20 {margin-left: 20px;}
.ml30 {margin-left: 30px;}
.mr10 {margin-right: 10px;}
.mr20 {margin-right: 20px;}
.mr30 {margin-right: 30px;}

.pl10{padding-left: 10px;}
.pl15{padding-left: 15px;}
.pl20{padding-left: 20px;}
.pl25{padding-left: 25px;}
.pl30{padding-left: 30px;}
.pl35{padding-left: 35px;}
.pl40{padding-left: 40px;}

.mt40 , .mt50 , .mt60 , .mt70 , .mt80 , .mt90 , .mt100 {margin-top: 30px !important;}

.mb40 , .mb50 , .mb60 , .mb70 , .mb80 , .mb90 , .mb100 , .mb120 , .mb130 , .mb150 , .mb200 , .mb230 {margin-bottom: 30px;}
.pb50 , .pb60 , .pb70 , .pb80 {padding-bottom: 40px;}

.pb0{padding-bottom:0 !important;}

/* ------------------------ パソコン ------------------------ */
@media screen and (min-width: 768px) {

	/*マージン調整用*/

	.mb0-pc{margin-bottom: 0 !important;}

	.ml10 {margin-left: 10px;}
	.ml20 {margin-left: 15px;}

	.mr0 {margin-right: 0 !important;}
	
	.mr100-pc {margin-right: 100px;}

	.mt40 {margin-top: 40px !important;}
	.mt50 {margin-top: 50px !important;}
	.mt60 {margin-top: 60px !important;}
	.mt70 {margin-top: 70px !important;}
	.mt80 {margin-top: 80px !important;}
	.mt90 {margin-top: 90px !important;}
	.mt100 {margin-top: 100px !important;}

	.mb10-1000 {margin-bottom: 10px;}

	.mb15 {margin-bottom: 15px !important;}
	.mb40 {margin-bottom: 40px !important;}
	.mb50 {margin-bottom: 50px !important;}
	.mb60 {margin-bottom: 60px !important;}
	.mb70 {margin-bottom: 70px !important;}
	.mb80 {margin-bottom: 80px !important;}
	.mb90 {margin-bottom: 90px !important;}
	.mb100 {margin-bottom: 100px !important;}
	.mb120 {margin-bottom: 120px !important;}
	.mb130 {margin-bottom: 130px !important;}
	.mb150 {margin-bottom: 150px !important;}
	.mb200 {margin-bottom: 200px !important;}
	.mb230 {margin-bottom: 230px !important;}

	.pb15 {padding-bottom: 15px !important;}
	.pb40 {padding-bottom: 40px !important;}
	.pb50 {padding-bottom: 50px !important;}
	.pb60 {padding-bottom: 60px !important;}
	.pb70 {padding-bottom: 70px !important;}
	.pb80 {padding-bottom: 80px !important;}
	.pb90 {padding-bottom: 90px !important;}
	.pb100 {padding-bottom: 100px !important;}
	.pb110 {padding-bottom: 110px !important;}
	.pb120 {padding-bottom: 120px !important;}
	.pb130 {padding-bottom: 130px !important;}

	
	.mb120-pc {margin-bottom: 120px !important;}

	
	/*フォント用*/
	.fs80 {font-size: 80%;}
	.fs90 {font-size: 90%;}

	.talg_C_pc {
		text-align: center;
	}

}

.fs80{font-size: 80%;}
.fs90{font-size: 90%;}
.fs110{font-size: 110%;}
.fs115{font-size: 115%;}
.fs120{font-size: 120%;}
.fs125{font-size: 125%;}
.fs130{font-size: 130%;}
.fs135{font-size: 135%;}
.fs140{font-size: 140%;}
.fs145{font-size: 145%;}
.fs150{font-size: 150%;}

.fs13{font-size: 13px !important;}
.fs14{font-size: 14px !important;}
.fs15{font-size: 15px !important;}
.fs16{font-size: 16px !important;}
.fs17{font-size: 17px !important;}
.fs18{font-size: 18px !important;}
.fs19{font-size: 19px !important;}
.fs20{font-size: 20px !important;}
.fs21{font-size: 21px !important;}
.fs22{font-size: 22px !important;}
.fs23{font-size: 23px !important;}
.fs24{font-size: 24px !important;}
.fs25{font-size: 25px !important;}
.fs26{font-size: 26px !important;}
.fs27{font-size: 27px !important;}
.fs28{font-size: 28px !important;}
.fs29{font-size: 29px !important;}
.fs30{font-size: 30px !important;}

.lh2{line-height: 2em;}

/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

	.w90-w100 , .w80-w100 , .w70-w100 , .w60-w100 , .w50-w100 , .w40-w100 , .w30-w100 {width: 100%;}
	
	.w30-w50 {width: 50%;}
	.w30-w70 {width: 70%;}
	
	.mb0-sp{margin-bottom: 0 !important;}

	.fs16 , .fs17, .fs18, .fs19, .fs20, .fs21, .fs22{
		font-size: 15px !important;
	}

	.fs23 , .fs24 , .fs25 , .fs26 , .fs27, .fs28 , .fs29 , .fs30{
		font-size: 16px !important;
	}
	
}

.talg_C {
	text-align: center !important;
}

/* ------------------------ パソコン ------------------------ */
@media screen and (min-width: 768px) {

.talg_C_pc{
  text-align: center !important;
}

}

.talg_L {
	text-align: left !important;
}
.talg_R {
	text-align: right !important;
}

.clear_both{
	clear:both;
}

.over-visible{
	overflow: visible !important;
}

.vertical{
	vertical-align:middle;
}

.border_none{
  border: none !important;
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.green{color: #99cc33;}
.t-red{color: #CC3333;}

a { text-decoration: none;  transition: all 0.3s linear; }
a:link {color: #333333;  transition: all 0s linear;}
a:visited {color: #333333;}
a:hover {color: #99cc33; transition: all 0.3s linear; }
a:active { color: #FF8000; }
img{width: 100%; height: auto;}

.mt-5px { margin-top: 5px !important; }
.mt-10px { margin-top: 10px !important; }
.mt-20px { margin-top: 20px !important; }
.mt-30px { margin-top: 30px !important; }
.mt-50px { margin-top: 50px !important; }
.mt-80px { margin-top: 80px !important; }
.mb-10px { margin-bottom: 10px !important; }
.mb-20px { margin-bottom: 20px !important; }
.mb-30px { margin-bottom: 20px !important; }
.mb-50px { margin-bottom: 50px !important; }
.ml-20px { margin-left: 20px !important; }
.mr-20px { margin-right: 20px !important; }

.width-20per{width: 20% !important}
.width-50per{width: 50% !important}
.width-70per{width: 70% !important}
.width-100per{width: 100% !important}
@media screen and (max-width: 680px) {
.width-50per,
.width-70per{width: 100% !important}
}

.bg-gray{background-color: #efefef}

span.text-sup,
span.text-sub{
	font-size: 75.5%;
	vertical-align: top;
	position: relative;
	top: -0.03em;
	padding-left: 1px;
	padding-right: 1px;
}
span.text-sub {
	vertical-align: bottom;
	top: 0.03em;
}

/* --- Clear Fix ------------- */
.clearfix:before, .clearfix:after {
	display: table;
	content: " ";
}
.clearfix:after {clear: both;}
.clearfix {overflow: hidden;}
*, *::after, *::before {box-sizing: border-box;}

/* -----------------------------------
   PC/SP切り替え
 * ----------------------------------- */
.br-pc{display: inline !important}
.br-sp{display: none !important}
.img-pc{display: block !important}
.img-sp{display: none !important}
@media screen and (max-width: 680px) {	
.br-sp{display: inline !important}
.br-pc{display: none !important}	
.img-pc{display: none !important}	
.img-sp{display: block !important}	
}

/* 字下げ */
.jisage,
.jisage li{
	padding-left:0.5em;
	text-indent:-0.5em;
}
.jisage02{
	padding-left:1em;
	text-indent:-1em;
}
.jisage03{
	padding-left:1.5em;
	text-indent:-1.5em;
}
.jisage04{
	padding-left:2em;
	text-indent:-2em;
}
.jisage05{
	padding-left:2.5em;
	text-indent:-2.5em;
}
.jisage06{
	padding-left:3em;
	text-indent:-3em;
}



/* -----------------------------------
    メニュー
   ----------------------------------- */
#menu{
	position: fixed;
	top: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: 80px;
	padding-right: 50px;
	z-index: 999;
	background-color: #FFFFFF;
	transition: all 0.3s;
}

/* ------------------------ パソコン ------------------------ */
@media screen and (min-width: 768px) {

	#menu{
		min-width: 1000px;
	}

}

#menu.scrolled {
	color: #ffffff;
	height: 50px;
	background: rgba(255,255,255, 0.85);
	backdrop-filter: blur(5px);
}
#menu h1{
	position: absolute;
	top: 13px;
	left: 13px;
	transition: all 0.3s;
}
#menu.scrolled h1 {
	top: 0;
	left: 13px
}
#menu h1 a{
	display: block;
	width: 200px;
}
#menu h1 a img{
	height: 50px;
	margin-left: 10px
}

/* ------------------------ パソコン ------------------------ */
@media screen and (min-width: 768px) {

	#top #menu h1 a img{
		opacity: 0;
		transition-duration:0.6s;
	}
	#top #menu h1.display a img{
		opacity: 1;
	}

}

#menu h1 a img{vertical-align: baseline}
.drawer-list ul#navigation{
	display: flex;
	justify-content: space-between;
}
.drawer-list ul#navigation li {margin-left: 30px;}
.drawer-list ul#navigation li a{
	font-size: 15px;
	color: #000000;
	position: relative;
	transition: color .1s linear;
	/*line-height: 1.3;*/
	vertical-align: bottom;
}
input.hamburger {display: none;}

.drawer-list ul#navigation li.sns img{
	width: 25px;
	margin: 0 5px;
}

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

	.drawer-list ul#navigation li {
		margin-left: 15px;
	}
	.drawer-list ul#navigation li a{
		font-size: 13px;
	}
	
}


@media screen and (min-width: 769px) {
	.drawer-list ul#navigation li a.curret,
	.drawer-list ul#navigation li a:hover{
	}
	.drawer-list ul#navigation li a.curret:before,
	.drawer-list ul#navigation li a::before{
		position: absolute;
		bottom: -1px;
		left: 0;
		content: '';
		width: 100%;
		height: 1px;
		background-color: rgba(51,51,51,0.50);
		transform: scale(1, 1);
		transform-origin: center top;
		transition: transform .3s;
	}	
	.drawer-list ul#navigation li a.curret:before,
	.drawer-list ul#navigation li a::before{
		display: none;
	}
	.drawer-list ul#navigation li a::before{transform: scale(0, 1);}	
	.drawer-list ul#navigation li a:hover::before{transform: scale(1, 1);}		
	.drawer-list ul#navigation li.pc-none{display: none}		
}
/*@media screen and (max-width: 850px) {	
	.drawer-list ul#navigation li a{font-size: 0.9em;}	
	.drawer-list ul#navigation li {margin-left: 20px;}	
}*/
@media screen and (max-width: 768px) {
	#menu{
		position: fixed;
		top: 0;
		height: 50px;
		display: block;
		padding-left: 0px;
		padding-right: 0px;
	}	
	#menu h1{
		top: 0;
		left: 4px
	}
	.drawer-list ul#navigation{
		display: block;
		margin-top: 30px;
	}
	.drawer-list {
		position: fixed;
		right: 0;
		top: 0;
		height: 100vh;
		width: 100vw;
		transform: translate(100vw, 0);
		box-sizing: border-box;
		pointer-events: none;
		transition: width 475ms ease-out, transform 450ms ease, border-radius .8s .1s ease;
		border-bottom-left-radius: 100vw;
		background-color: #99cc33;
		z-index: 10;
	}
	.drawer-list ul#navigation li {
		text-transform: uppercase;
		pointer-events: auto;
		white-space: nowrap;
		box-sizing: border-box;
		transform: translatex(100vw);
		line-height: 1.8;
		margin-right: 20px
	}
	.drawer-list ul#navigation li a {
		padding: 10px 25px;
		font-size: 1.1em;
		color: #ffffff;
		display: inline-block;
	}

	.drawer-list ul#navigation li.pc-none#sp-sub-1{
		margin-top: 20px;
		border-top: 1px dotted #ffffff;
		padding-top: 20px;
	}
	.drawer-list ul#navigation li.curret a{color: #333333}
	.drawer-list ul#navigation li a:after,
	.drawer-list ul#navigation li:first-child a:after{
		font-family: 'FontAwesome';
		content: "\f105";
		display: inline-block;
		padding-left: 15px;
	}
	.drawer-list ul#navigation li.sns {
		padding-left: 20px;
		margin-top: 10px;
	}
	.drawer-list ul#navigation li.sns a{
		padding: 10px 5px;
	}
	.drawer-list ul#navigation li.sns a:after{
		display: none;
	}
	input.hamburger:checked ~ .drawer-list {
		transform: translatex(0);
		border-bottom-left-radius: 0;
	}
	input.hamburger:checked ~ .drawer-list #navigation li {
		transform: translatex(0);
	}
	input.hamburger:checked ~ .drawer-list #navigation li:nth-child(1) {
		transition: transform 1s 0.08s cubic-bezier(0.29, 1.4, 0.44, 0.96);
	}
	input.hamburger:checked ~ .drawer-list #navigation li:nth-child(2) {
		transition: transform 1s 0.16s cubic-bezier(0.29, 1.4, 0.44, 0.96);
	}
	input.hamburger:checked ~ .drawer-list #navigation li:nth-child(3) {
		transition: transform 1s 0.24s cubic-bezier(0.29, 1.4, 0.44, 0.96);
	}
	input.hamburger:checked ~ .drawer-list #navigation li:nth-child(4) {
		transition: transform 1s 0.32s cubic-bezier(0.29, 1.4, 0.44, 0.96);
	}
	input.hamburger:checked ~ .drawer-list #navigation li:nth-child(5) {
		transition: transform 1s 0.4s cubic-bezier(0.29, 1.4, 0.44, 0.96);
	}
	input.hamburger:checked ~ .drawer-list #navigation li:nth-child(6) {
		transition: transform 1s 0.48s cubic-bezier(0.29, 1.4, 0.44, 0.96);
	}
	input.hamburger:checked ~ .drawer-list #navigation li:nth-child(7) {
		transition: transform 1s 0.56s cubic-bezier(0.29, 1.4, 0.44, 0.96);
	}	
	input.hamburger:checked ~ .drawer-list #navigation li:nth-child(8) {
		transition: transform 1s 0.64s cubic-bezier(0.29, 1.4, 0.44, 0.96);
	}	
	input.hamburger:checked ~ .drawer-list #navigation li:nth-child(9) {
		transition: transform 1s 0.72s cubic-bezier(0.29, 1.4, 0.44, 0.96);
	}		
	input.hamburger:checked ~ .drawer-list #navigation li:nth-child(10) {
		transition: transform 1s 0.8s cubic-bezier(0.29, 1.4, 0.44, 0.96);
	}		
	label.hamburger {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 9999;
		display: block;
		height: 50px;
		width: 50px;
	}
	label.hamburger:hover {cursor: pointer;}
	label.hamburger > i {
		position: absolute;
		width: 30px;
		height: 2px;
		top: calc(50% - 2px);
		left: 10px;
		background-color: #99cc33;
		transition-duration: .35s;
		transition-delay: .35s;
	}
	label.hamburger > i:before,
	label.hamburger > i:after {
		content: "";
		position: absolute;
		width: 30px;
			height: 2px;
		left: 15px;
		background-color: #99cc33;
		transition: transform 0.35s;
		transform-origin: 50% 50%;
	}

	label.hamburger > i:before {
		top: 15px;
		transform: translate(-50%, -25px);
		background-color: #99cc33;
	}
	label.hamburger > i:after {
		bottom: 15px;
		transform: translate(-50%, 25px);
	}

	input.hamburger:checked ~ label > i {
		background-color: transparent;
		transform: rotate(90deg);
	}
	input.hamburger:checked ~ label > i:before {
		transform: translate(-50%, -50%) rotate(315deg);
		left: 15px;
			top: 0px;
		background-color: #ffffff;
	}
	input.hamburger:checked ~ label > i:after {
		transform: translate(-50%, -50%) rotate(-315deg);
		left: 15px;
		top: 0px;
		background-color: #ffffff;
	}
	input.hamburger:checked ~ label close {
		color: #FEFEFE;
		width: 100%;
	}
	input.hamburger:checked ~ label open {
		color: rgba(0, 0, 0, 0);
		width: 0;
	}	
}


/* -----------------------------------
    カラム
   ----------------------------------- */
#wrapper {
	overflow: hidden;
	background-color: #ffffff;
	position: relative;
	padding-top: 80px;
	padding-bottom: 30px;
}
.container-inn {
	width:1040px;
	margin-left:auto;
	margin-right:auto;
	padding:0 20px;
}
#container-main{min-height: 300px}
article{margin-bottom: 100px;}
#policy article{margin-bottom: 180px;}
.container-image{
	width: 85%;
	margin-left: auto;
	margin-right: auto;
}
.container-flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap
}
.block-wide {width: 85% !important}
.block-half {width: 48.5% !important}
.block-medium {width: 65% !important}
.block-small {width: 30% !important}
.block-minimal {width: 30% !important}
.margin-auto{
	margin-left: auto;
	margin-right: auto;
}
.display-block{display: block!important}
.display-inline-block{display: inline-block}
.flex-justify{justify-content: space-between;}
.flex-center{justify-content: center;}
.flex-all{flex: 1 0 100%}
.block {
    margin-top: 50px;
    margin-bottom: 50px;
}
@media screen and (max-width:960px) {
.container-inn{width: 90%; padding: 0;}
}
@media screen and (max-width: 768px) {
	#wrapper {
		padding-top: 50px;
	}
	#top #wrapper {
		padding-top: 10px;
	}
	article,	
	#policy article{margin-bottom: 100px;}	
	.block {
		margin-top: 30px;
		margin-bottom: 30px;
	}
	
}
@media screen and (max-width:680px) {
article,		
#policy article{margin-bottom: 60px;}	
.container-image{width: 100%;}	
.container-flex{display: block}	
.block-half,
.block-medium{width: 100% !important}	
.block-small,
.block-minimal{width: 50% !important}	
}

section{margin-bottom: 100px}
section .inner{
	width:1040px;
	margin-left:auto;
	margin-right:auto;
	padding:20px 20px 0 20px;
}

section.line .inner{
	padding-bottom: 50px;
	border-bottom: 1px solid #b3b3b3;
}

section .innerPercent{
	width:100%;
	margin-left:auto;
	margin-right:auto;
	padding: 20px 6%;
}

section .narrow{
	width:840px;
	margin-left:auto;
	margin-right:auto;
	padding:20px 20px 30px 20px;
}

section .narrow700{
	width:740px;
	margin-left:auto;
	margin-right:auto;
	padding:20px 20px 30px 20px;
}


#a01 , #a02 , #a03 , #a04 , #a05 , #a06 , #a07 , #a08 , #a09 , #a10 , #a11 , #a12 , #a13 , #a14 , #a15{
  margin-top:-80px;
  padding-top:80px;
}

/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

	body , header{
		min-width: 320px;
	}
	
	section{margin-bottom: 30px}
	
	section .inner , section .narrow , section .narrow700{
		width:100%;
		padding:0 20px;
		padding-top:20px;
	}
	
	section.line .inner{
		padding-bottom: 30px;
	}
	
	#a01 , #a02 , #a03 , #a04 , #a05 , #a06 , #a07 , #a08 , #a09{
	  margin-top:-50px;
	  padding-top:50px;
	}

}


/* -----------------------------------
    下層ページタイトル
   ----------------------------------- */
.contentsTitle{
	height: 120px;
	margin-bottom: 80px;
	position: relative;
}
.contentsTitle h2{
	text-align: center;
	font-size: 30px;
	letter-spacing: .1em;
	padding-top: 45px;
	position: absolute;
	width: 100%;
	color: #FFFFFF;
	opacity: 0;
	font-family: A1 Gothic M , '游ゴシック体', 'Yu Gothic', 'YuGothic', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
}
.contentsTitle.active .h2 {opacity: 1;}
.contentsTitle.active .h2 strong em,
.contentsTitle.active .h2 span em {transform: translate3d(0, 0, 0); }
.h2 strong,
.h2 span {line-height: 1.3;}
.h2 strong {
	display: block;
	overflow: hidden; }
.contentsTitle .h2 strong em {
    display: inline-block;
    transform: translate3d(0, 100%, 0);
    transition-duration: 0.8s;
    transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
.contentsTitle .h2 strong em:nth-child(1) {transition-delay: 0.03s;}
.contentsTitle .h2 strong em:nth-child(2) {transition-delay: 0.06s;}
.contentsTitle .h2 strong em:nth-child(3) {transition-delay: 0.09s;}
.contentsTitle .h2 strong em:nth-child(4) {transition-delay: 0.12s;}
.contentsTitle .h2 strong em:nth-child(5) {transition-delay: 0.15s;}
.contentsTitle .h2 strong em:nth-child(6) {transition-delay: 0.18s;}
.contentsTitle .h2 strong em:nth-child(7) {transition-delay: 0.21s;}
.contentsTitle .h2 strong em:nth-child(8) {transition-delay: 0.24s;}
.contentsTitle .h2 strong em:nth-child(9) {transition-delay: 0.27s;}
.contentsTitle .h2 strong em:nth-child(10) {transition-delay: 0.30s;}
.contentsTitle .h2 strong em:nth-child(11) {transition-delay: 0.33s;}
.contentsTitle .h2 strong em:nth-child(12) {transition-delay: 0.36s;}
.contentsTitle .h2 strong em:nth-child(13) {transition-delay: 0.39s;}
.contentsTitle .h2 strong em:nth-child(14) {transition-delay: 0.42s;}
.contentsTitle .h2 strong em:nth-child(15) {transition-delay: 0.45s;}
.contentsTitle .h2 strong em:nth-child(16) {transition-delay: 0.48s;}
.contentsTitle .h2 strong em:nth-child(17) {transition-delay: 0.51s;}
.contentsTitle .h2 strong em:nth-child(18) {transition-delay: 0.54s;}
.contentsTitle .h2 strong em:nth-child(19) {transition-delay: 0.57s;}
.contentsTitle .h2 strong em:nth-child(20) {transition-delay: 0.6s;}
#h2-bg{
	width: 100%;
	height: 120px;
	background-color: #99cc33;
}
@media screen and (max-width:768px) {
#lower-header{margin-top: 0px;}	
}
@media screen and (max-width:680px) {
.contentsTitle{
	height: 100px;
	margin-bottom: 40px;
}	
.contentsTitle h2{
	font-size: 24px;
	padding-top: 39px;
}	
#h2-bg{height: 100px;}	
}

/* -----------------------------------
    見出し
   ----------------------------------- */

.h2-right {
	overflow: hidden;
}
.h2-right h2{
	float: right;
}

h2.p01{
	font-size: 30px;
	/*font-weight: bold;*/
	color: #abcd03;
	line-height: 1.3;
	display: inline-block;
	width: 485px;
	border-bottom: 2px solid #b5b5b5;
	margin-bottom: 30px;
	padding-bottom: 10px;
}
h2.p01 span{
	font-size: 18px;
	/*font-weight: bold;*/
	display: block;
}
h2.p02-en{
	font-size: 40px;
	line-height: 1.3;
	color: #abcd03;
	display: inline-block;
	width: 485px;
	border-bottom: 2px solid #b5b5b5;
	margin-bottom: 30px;
	padding-bottom: 10px;
}
h2.p02-en span{
	font-size: 18px;
	display: block;
}
h2.p03{
	font-size: 18px;
	text-align: center;
	line-height: 1.3;
	margin-bottom: 40px;
	color: #333333;
	/*font-weight: bold;*/
}
h2.p03 span{
	font-size: 40px;
	color: #abcd03;
	display: block;
	font-weight: normal;
}
h2.p04{
	font-size: 30px;
	/*font-weight: bold;*/
	text-align: center;
	margin-bottom: 30px;
}
h2.p05{
	font-size: 40px;
	line-height: 1.1;
	color: #abcd03;
	text-align: center;
	margin-bottom: 40px;
}
h2.p05 span{
	font-size: 18px;
	display: block;
}
h2.p06{
	font-size: 35px;
	line-height: 1.1;
	color: #abcd03;
	text-align: center;
	margin-bottom: 45px;
}
h2.p06 span{
	font-size: 18px;
	display: block;
}


/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

	.h2-right h2{
		float: none;
	}

	h2.p01{
		font-size: 20px;
		line-height: 1.3;
		padding-right: 0;
		padding-bottom: 7px;
		width: 100%;
		margin-bottom: 30px;
		display: block;
	}
	h2.p01 span{
		font-size: 18px;
	}
	h2.p02-en{
		font-size: 27px;
		line-height: 1.3;
		width: 100%;
		margin-bottom: 30px;
		display: block;
	}
	h2.p02-en span{
		font-size: 17px;
	}
	h2.p03{
		font-size: 17px;
		line-height: 1.3;
		margin-bottom: 40px;
		display: block;
	}
	h2.p03 span{
		font-size: 27px;
	}
	h2.p04{
		font-size: 20px;
		margin-bottom: 30px;
		text-align: left;
	}
	h2.p05{
		font-size: 27px;
		line-height: 1.3;
		padding-right: 0;
		margin-bottom: 30px;
		display: block;
	}
	h2.p05 span{
		font-size: 17px;
	}
	h2.p06{
		font-size: 22px;
		margin-bottom: 30px;
		display: block;
	}
	h2.p06 span{
		font-size: 17px;
	}

}


.text-gothic{font-family: A1 Gothic M , '游ゴシック体', 'Yu Gothic', 'YuGothic', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;}
.text-right {text-align: right !important;}
.text-center {text-align: center !important;}
.text-bold{font-weight: bold !important}
.text-wide{
	font-weight: bold !important;
	font-size: 120%;
}
/*.text-01{
	font-size: 20px;
}*/

/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

	/*.text-01{
		font-size: 17px;
	}*/

}

.text-caption,
.text-caption li{font-size: 14px}
p.text-indent,
.text-indent li{
	padding-left: 1em;
	text-indent: -1em;
}

h3.p01{
	font-size: 35px;
	line-height: 1.5;
	color: #99cc33;
	text-align: center;
	margin-bottom: 45px;
	font-family: A1 Gothic M , '游ゴシック体', 'Yu Gothic', 'YuGothic', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
}
h3.p01 span{
	font-size: 18px;
	display: block;
}
h3.p02{
	font-size: 23px;
	/*font-weight: bold;*/
	margin-bottom: 30px;
	font-family: A1 Gothic M , '游ゴシック体', 'Yu Gothic', 'YuGothic', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
}
h3.p03{
	font-size: 23px;
	/*font-weight: bold;*/
	color: #FFFFFF;
	background-color: #99cc33;
	padding: 8px 20px;
	margin-bottom: 30px;
	font-family: A1 Gothic M , '游ゴシック体', 'Yu Gothic', 'YuGothic', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
}
h3.p04{
	font-size: 20px;
	color: #FFFFFF;
	background-color: #99cc33;
	padding: 5px 15px;
	margin-bottom: 20px;
	font-family: A1 Gothic M , '游ゴシック体', 'Yu Gothic', 'YuGothic', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
}
h3.p03.red{
	background-color: #c0392b;
}
h3.p03.blue{
	background-color: #2980b9;
}

/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

	h3.p01{
		font-size: 20px;
		margin-bottom: 30px;
		display: block;
	}
	h3.p01 span{
		font-size: 17px;
	}
	h3.p02{
		font-size: 20px;
		margin-bottom: 20px;
	}
	h3.p03{
		font-size: 19px;
		padding: 8px 20px;
		margin-bottom: 30px;
	}
	h3.p04{
		font-size: 18px;
		padding: 5px 15px;
		margin-bottom: 20px;
	}
	
}

h4.p01{
	font-size: 20px;
	margin-top: 20px;
	margin-bottom: 5px;
	padding-top: 20px;
	border-top: 1px dotted rgba(0,0,0,0.1);
	font-family: A1 Gothic R,'游ゴシック体', 'Yu Gothic', 'YuGothic', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
}
h4.p01.no-border{border-top: none;}
h4.p01:before {
	content: "−";
	padding-right: 3px;
}
h4.p01.no-border:before {content: "";}

h4.p02{
	font-size: 19px;
	/*font-weight: bold;*/
	margin-bottom: 20px;
	border-bottom: 1px solid #000000;
	font-family: A1 Gothic R,'游ゴシック体', 'Yu Gothic', 'YuGothic', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
}
h4.p03{
	font-size: 17px;
	font-weight: 600;
	margin-bottom: 10px;
}


/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

	h4.p01{font-size: 18px;}	
	.container-inn .text-center{text-align: left!important}

	h4.p02{
		font-size: 17px;
		margin-bottom: 20px;
	}
	
}


h5.p01{
	font-size: 18px;
	margin-top: 10px;
	font-family: A1 Gothic R,'游ゴシック体', 'Yu Gothic', 'YuGothic', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
}
h5.p02{
	font-size: 17px;
	/*font-weight: bold;*/
	margin-bottom: 10px;
	font-family: A1 Gothic R,'游ゴシック体', 'Yu Gothic', 'YuGothic', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
}

/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

	h5.p01{font-size: 17px;}	

	h5.p02{
		font-size: 16px;
		margin-bottom: 10px;
	}
	
}

/*コロナ対策*/
.text-attention {
	border-top: 1px dotted #CECECC;
	border-bottom: 1px dotted #CECECC;	
	margin-top: 50px;
	padding-top: 15px;
	margin-bottom: 50px;
	padding-bottom: 15px;
}
.text-attention h2{
	font-family: A1 Gothic L,'游ゴシック体', 'Yu Gothic', 'YuGothic', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
	font-size: 21px;
	margin-bottom: 5px;
}
.text-attention li{
	padding-left: 1em;
	text-indent: -1em;
}
.text-attention li:before{
	content: "・";
	margin-right: 3px
}
@media screen and (max-width:680px) {
.text-attention h2{font-size: 18px;}	
}

a.button01{
	font-size: 20px;
	line-height: 1.3;
}

/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

	a.button01{
		font-size: 18px;
		line-height: 1.3;
	}

}

a.button02{
	font-size: 19px;
	background-color: #99cc33;
	color: #FFFFFF !important;
	text-decoration: none !important;
	padding: 10px 20px;
	display: inline-block;
}
a.button02:hover{
	opacity: 0.7 !important;
}

/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

	a.button02{
		font-size: 17px;
		padding: 10px 20px;
	}

}


ul.column02{
	display:flex; 
	flex-wrap: wrap;
	margin-bottom:50px;
}

ul.column02 li{
	width:50%;
}

ul.column02 li img{
  width: 100%;
  height: auto;
}

ul.column02-2{
	display:flex; 
	flex-wrap: wrap;
}

ul.column02-2 li{
	width:48%;
	margin-right:4%;
	margin-bottom:30px;
}

ul.column02-2 li:nth-child(2n){
	margin-right:0;
}

ul.column02-2 li img{
	width:100%;
	height:auto;
	margin-bottom: 10px;
}

ul.column02-3{
	display:flex; 
	flex-wrap: wrap;
}

ul.column02-3 li{
	width:28%;
	float:left;
	margin-right:4%;
	margin-bottom:30px;
}

ul.column02-3 li:nth-child(2n){
	width:68%;
	margin-right:0;
}

ul.column02-3 li img{
	width:100%;
	height:auto;
	margin-bottom: 10px;
}

/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

	ul.column02{
		margin-bottom:10px;
	}

	ul.column02 li{
		width:100%;
		margin-bottom: 30px;
	}

	ul.column02-2 li{
		width:100%;
		margin-right:0;
	}
	
	ul.column02-3 li , ul.column02-3 li:nth-child(2n){
		width:100%;
		margin-right:0;
	}

}

ul.column03 , ul.column03-2{
	display:flex; 
	flex-wrap: wrap;
}

ul.column03 li , ul.column03-2 li{
	width:30.6666%;
	margin-right:4%;
	margin-bottom: 30px;
}

/* ------------------------ パソコン ------------------------ */
@media only screen and (min-width:768px){

	ul.column03 li:nth-child(3n) , ul.column03-2 li:nth-child(3n){
		margin-right:0;
	}

}

ul.column03 li img , ul.column03-2 li img{
	width:100%;
	height:auto;
	margin-bottom:10px;
}

ul.column03 li h3 , ul.column03-2 li h3{
	font-size:20px;
}

ul.column03-2 li .loupe{
	position:absolute;
	bottom:10px;
	right:10px;
	width:40px;
	height:auto;
	margin:0;
}

ul.column04{
	display:flex; 
	flex-wrap: wrap;
	margin-bottom:50px;
}

ul.column04 li{
	width:22%;
	overflow:hidden;
	margin-right:4%;
}


/* ------------------------ パソコン ------------------------ */
@media only screen and (min-width:768px){


ul.column04 li:nth-child(4n){
	margin-right:0;
}

}

ul.column04 li img{
	width:100%;
	height:auto;
	margin-bottom:20px;
}

ul.column04 li h3{
	text-align:center;
	font-size:20px;
}

/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

	ul.column03 li{
		width:100%;
		margin-right:0;
		margin-bottom:30px;
	}

	ul.column03-2 li{
		width:48%;
		margin-right:4%;
		margin-top:20px;
		position:relative;
	}

	ul.column03-2 li:nth-child(2n){
		margin-right:0;
	}

	ul.column03 li img , ul.column03-2 li img{
		margin-bottom:10px;
	}

	ul.column03 li h3 , ul.column03-2 li h3{
		font-size:17px;
	}

	ul.column04{
		margin-bottom:30px;
	}

	ul.column04 li{
		width:47%;
		margin-right:6%;
		margin-bottom:20px;
	}

	ul.column04 li:nth-child(2n){
		margin-right:0;
	}

	ul.column04 li h3{
		font-size:17px;
	}

}

/* -----------------------------------
    リンク
   ----------------------------------- */
.container-btn{
	margin: 30px auto;
	text-align: center
}
a.text-link,
a.no-link{
	display: inline-block !important;
	position: relative;
	padding-right: 35px;
	font-family: A1 Gothic L,'游ゴシック体', 'Yu Gothic', 'YuGothic', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
	transition: all .3s;
}
a.text-link{
	font-size: 20px;
	font-family: A1 Gothic M , '游ゴシック体', 'Yu Gothic', 'YuGothic', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
	border: 1px solid #333333;
	padding: 13px 60px 10px 40px;
}

/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

a.text-link{
	font-size: 16px;
}

}


a.no-link{
	padding-right: 0px;
	cursor: default
}
a.text-link:hover,
a.no-link:hover
{color: #99cc33; border-color: #99cc33;}
a.text-link:after{
	content: "";
	position: absolute;
	display: block;
	transition: all .3s;
	width: 5px;
	height: 13px;
	top: 50%;
	right: 35px;
	border-top: 1px solid #333333;
	border-right: 1px solid #333333;
	transform: translateY(-50%) rotate(45deg) skewX(-45deg);
}
a.text-link:hover:after{
	height: 16px;
	right: 32px;
	border-top: 1px solid #99cc33;
	border-right: 1px solid #99cc33;
}

.list-link{
	margin-top: 10px;
	margin-bottom: 10px
}
.list-link li a{
	margin: 5px 20px;
	font-size: 100%;
}

/*---------------------------------------------
	テーブル
  ---------------------------------------------*/
.tbl-basic{
	width: 100%;
	border-left: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
}
.tbl-basic td,
.tbl-basic th{
	padding: .5em 10px;
	border: 1px solid #CECECC;
	vertical-align: middle;
	min-width: 80px;
}
.tbl-basic th{
	background-color: #f3f3f3;
	text-align: center;
}
@media screen and (max-width: 640px){
.tbl-basic{border-bottom: 1px solid #CECECC;}	
.tbl-basic td,
.tbl-basic th {
	display: block;
	word-break: break-all;
	width: 100% !important;
	border-bottom: none;
}
.tbl-basic th {
	text-align: left;
}
}

table.p01{
	width: 100%;
	border: 1px solid #CECECC;
}
table.p01 td,
table.p01 th{
	padding: .5em 10px;
	border: 1px solid #CECECC;
	vertical-align: middle;
	min-width: 80px;
}
table.p01 th{
	background-color: #f3f3f3;
	text-align: center;
}

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

	table.p01{border-bottom: 1px solid #CECECC;}	

}

/* ------------------------ スマートフォン ------------------------ */
@media only screen and (max-width:768px){

	.scroll{
		overflow-x: scroll;
	}
	
	.scroll table{
		width: 1000px !important;
		margin-bottom: 20px;
	}

}

/* -----------------------------------
    フッター
   ----------------------------------- */
footer{margin-bottom: 30px;}
footer h2{
	width:90px;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 25px;
}
footer ul{
	border-bottom: 1px solid #e5e5e5;
	display: flex;
	justify-content: center;
	margin-bottom: 35px;
	padding-bottom: 35px;
}
footer ul li a{
	font-size: .9em;
	text-align: center;
	display: block;
	margin-left: 20px;
	margin-right: 20px;
	position: relative
}
footer ul li.curret a,
footer ul li a:hover{
	color: #333333
}
footer ul li.curret a:before,
footer ul li a::before{
	position: absolute;
	bottom: -1px;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background-color: rgba(51,51,51,0.50);
	transform: scale(1, 1);
	transform-origin: center top;
	transition: transform .3s;
}	
footer ul li a::before{transform: scale(0, 1);}	
footer ul li a:hover::before{transform: scale(1, 1);}		
@media screen and (max-width:768px) {
	footer{
		/*border-top: 1px solid #e5e5e5;*/
	}
	footer ul{
		display: block;
		text-align: center;
		padding-top: 40px;
	}
	footer ul li a{
		display: inline-block;
		margin-bottom: 20px;
	}	
}

/* -----------------------------------
    ページトップ
   ----------------------------------- */
#page-top {
	position: fixed;
	bottom: 10px;
	right: 10px;
	opacity: 0;
}
#page-top {
	color: #ffffff;
	font-size: 2em;
	line-height: 50px;
	opacity: 1;
	display: block;
	background-color: #99cc33;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	text-align: center;
	z-index: 5;
	cursor: pointer;
}
@media screen and (max-width:680px) {
#page-top {bottom: 20px !important;}	
}

/* -----------------------------------
    罫線
   ----------------------------------- */
hr {
	height: 8px;
	background-image: repeating-linear-gradient(45deg, #D9D9D9 0, #D9D9D9 1px, transparent 0, transparent 50%), repeating-linear-gradient(135deg, #D9D9D9 0, #D9D9D9 1px, transparent 0, transparent 50%);
	background-size: 8px 8px;
	border: none;
	margin-top: 80px;
	margin-bottom: 80px;
}


/* -----------------------------------
    アニメーション
   ----------------------------------- */
.fuwa{opacity: 0}
.anime-fuwa {animation: fuwatAnime .35s ease .6s forwards;}
@keyframes fuwatAnime {
 0% { opacity: 0; 
	 transform: translateY(50px); }
 100% { opacity: 1; 
	 transform: translateY(0px); }
}

/* -----------------------------------
    telリンク
   ----------------------------------- */
a[href^="tel:"]{color: #000000!important}
@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}


.pc{display:inline !important;}

.pc-block{display:block !important;}

.sp , .sp-block{display:none !important;}

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

.pc , .pc-block{display:none !important;}

.sp{display:inline !important;}

.sp-block{display:block !important;}

}