@charset "utf-8";

/* ===================
clearfix
===================*/
.clearfix:after {
	visibility:hidden;
	height:0;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
}


/* ===================
link
===================*/
a {
	outline: none;
}
a:link {
	text-decoration: none;
	color: #000;
}
a:visited {
	text-decoration: none;
	color: #000;
}
a:hover{
	text-decoration: underline;
	color: #666;
	opacity: 0.7;
	transition: all 0.3s ease-in-out;
}
a:hover img{
	text-decoration: none;
	opacity: 1.0!important;
	transition: all 0.1s ease-in-out;
}
a:active {
	text-decoration: none;
	color: #000;
}

/* main */
.main a:link {
	text-decoration: underline;
	color: #000;
}
.main a:visited {
	color: #000;
}
.main a:hover{
	color: #000;
}
.main a:active {
	color: #000;
}


/*==========================================
 body
===========================================*/
:root {
    --root-font-size: 16;
}
p {
    font-size: calc( 13 / var(--root-font-size) * 1rem );
}
body {
	/*font-family: "M PLUS Rounded 1c", sans-serif;*/
	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
}
@media (max-width: 992px){
	h1 {
		font-size:6.25rem;
	}
	h2 {
		font-size:1.375rem;
	}
	h3 {
		font-size:1.25rem;
	}
	h4 {
		font-size:1.125rem;
	}
	h5 {
		font-size:0.9375rem;
	}
	p,ul,ol,dl,address{
		font-size:0.9375rem;
	}
	table{
		font-size:0.9375rem;
	}
}
/*
h1 {
	font-size:2.0rem;
}
h2 {
	font-size:2.5rem;
}
h3 {
	font-size:1.6rem;
}
h4 {
	font-size:1.5rem;
}
h5 {
	font-size:1.5rem;
}
p,ul,ol,dl,address{
	font-size:1.3rem;
}
table{
	font-size:1.3rem;
}
address{
	font-style: normal;
}
	*/

@media (min-width: 993px){
	h1 {
		font-size:6.25rem;
	}
	h2 {
		font-size:2.0rem;
	}
	h3 {
		font-size:1.875rem;
	}
	h4 {
		font-size:1.7rem;
	}
	h5 {
		font-size:1.0rem;
	}
	p,ul,ol,dl,address{
		font-size:1.0rem;
	}
	table{
		font-size:1.0rem;
	}
}

@media (max-width: 992px){
	.hiden_sp {
		display: none;
	}
}
@media (min-width: 993px)  {
	.hiden_pc {
		display: none;
	}
}

@media (min-width: 993px)  {
	a[href^="tel:"] {
	    pointer-events: none;
	}
}

/* M PLUS Rounded 1c */
/*
.m-plus-rounded-1c-regular {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 400;
	font-style: normal;
}  
.m-plus-rounded-1c-medium {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-style: normal;
}
.m-plus-rounded-1c-bold {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 700;
	font-style: normal;
}
.m-plus-rounded-1c-extrabold {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 800;
	font-style: normal;
}
.m-plus-rounded-1c-black {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 900;
	font-style: normal;
}
*/
  


/*=====================================================================================
 [header]
======================================================================================*/
.header {
	background:#ffe900;
	color: #fff;
	z-index: 9999;
	position: fixed;
	transition: .4s;
	width: 100%;
	/*border-bottom: 1px #eeedeb solid;*/
	top:0;/*ポジション設定topを0*/
}
@media (max-width: 992px){
	.header{
		height: 60px;
	}
}
@media (min-width: 993px){
	/*.header .logo{
		height: 70px;
	}*/
	.header{
		height: 70px;
	}
}
.anc{
	padding-top: 100px;
}

/* scroll */
.header.transform{
	padding: 0px;
}


/*	header_inner
------------------------------------------ */
.header_inner {
	/*max-width: 1100px;*/
	padding-left: 15px;
	/*padding-right: 15px;*/
	/*margin-left: auto;
	margin-right: auto;*/
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}


/*	logo
------------------------------------------ */
.header .logo{
	padding: 0px 0;
	height: 60px;
}
.header h1.logo {
	font-size: 0.0rem;
}
.header .logo img{
	width: auto;
	height: 100%;
	vertical-align:top;
}
@media (max-width: 992px){
	.header .logo{
		margin-top:12px;
		height: 40px;
	}
	.header .logo{
		/*margin-left: 30px;*/
	}
}
@media (min-width: 993px){
	.header .logo{
		margin-top:7px;
		padding: 5px;
	}
}


/*-------------------------------------------
header_sp
-------------------------------------------*/
@media (max-width: 992px){
	.PC-nav {
		display: none;
	}

	#g-nav{
		position:fixed;
		z-index: 999;
		/*ナビのスタート位置と形状*/
		top:0;
		/*left: -120%;*/
		right: -120%;
		width:100%;
		height: 100vh;/*ナビの高さ*/
		background:#1b4c95;
		transition: all 0.4s;
	}

	/*アクティブクラスがついたら位置を0に*/
	#g-nav.panelactive{
    right: 0;
	}

	/*ナビゲーションの縦スクロール*/
	#g-nav.panelactive #g-nav-list{
	position: fixed;
	z-index: 999;
	width:100%;
	height: 100vh;/*表示する高さ*/
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	}

	#g-nav ul {
		position: absolute;
		z-index: 999;
		top:50%;
		left:50%;
		transform: translate(-50%,-50%);
	}
	#g-nav li{
	  list-style: none;
    text-align: center;
	}
	#g-nav li a{
	  color: #ffe900;
	  text-decoration: none;
	  padding:10px;
	  display: block;
	 /* text-transform: uppercase;*/
	  letter-spacing: 0.1em;
	  font-weight: 500;
	}

	/* btn */
	.openbtn{
		position:fixed;
		z-index: 9999;/*ボタンを最前面に*/
		/*
		top:6px;
		right: 15px;
		*/
		top:4px;
		right: 5px;
		cursor: pointer;
		width: 50px;
		height:50px;
		/*background-color: #1b4c95;*/
		background-color: #fff;
	}

	/*×に変化*/
	.openbtn span{
		display: inline-block;
		transition: all .4s;
		position: absolute;
		left: 14px;
		height: 2px;
		border-radius: 0px;
		background-color: #1b4c95;
		width: 45%;
	}
	.openbtn span:nth-of-type(1) {
	  top:15px;
	}
	.openbtn span:nth-of-type(2) {
	  top:23px;
	}
	.openbtn span:nth-of-type(3) {
	  top:31px;
	}
	.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
	}
	.openbtn.active span:nth-of-type(2) {
	  opacity: 0;
	}
	.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
	}
}


/*	------------------------------------------
PC-nav
------------------------------------------ */
@media (min-width: 993px){
	.SP-nav {
		display: none;
	}

	.PC-nav {
		margin-top: 2px;
	}

	/* .PC-nav [gNav]
	------------------------------------------ */
	.PC-nav .gNav {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		list-style: none;
		/*padding: 10px 10px 10px 15px;*/
		font-size: 1rem;
	}
	.PC-nav .gNav li a {
		text-decoration: none;
		margin-left: 0.5rem;
		margin-right: 0.5rem;
		/*font-size: 1.6rem;*/
		color: #1b4c95;
		font-weight: 700;
		padding:2px 10px;
				display: flex;
	}
	/*
	.PC-nav .gNav li a:last-child {
		margin-right: 0rem;
	}
	*/
	.PC-nav .gNav li.current a{
		color: #fff;
		background-color: #d75712;
	}
	.PC-nav .gNav li a:hover {
		color: #fff;
		background-color: #d75712;
	}
}



/*==========================================
[contents]
===========================================*/
@media (min-width: 993px)  {
	.contents {
		margin-top: 70px;
	}
}



/*==========================================
[main]
===========================================*/
.main {
	max-width: 1100px;
	padding-left: 15px;
	padding-right: 15px;
	margin-left: auto;
	margin-right: auto;
}
@media (max-width: 992px)  {
	.main > section {
		margin-bottom: 4.0rem;
	}
}
@media (min-width: 993px)  {
	.main > section {
		margin-bottom: 8.0rem;
	}
}

/* breadcrumbs
-------------------------------------------*/
/*
.breadcrumbs{
	 border: 1px solid #ccc;
	 border-radius: 10px;
	 margin-bottom: 20px;
}
.breadcrumbs a{
	 color: #005bac;
	 text-decoration: none;
}
.breadcrumbs a:hover{
	color: #005bac;
}

.breadcrumbs ul{
 display: flex;
 width: 100%;
}
.breadcrumbs li{
 list-style: none;
 margin-right: 1.0rem;
 position: relative;
 padding: .7em 1em .7em 1.5em;
 font-size: 1.4rem;
 color: #797979;
}

@media (max-width: 992px)  {
	.breadcrumbs{
	 border: none;
	 border-radius: 0px;
	}
	.breadcrumbs ul{
		flex-wrap: wrap;
	}
	.breadcrumbs li{
		list-style: none;
		margin-right: 1.0rem;
		position: relative;
		padding: .7em 1.0em .5em .0em;
		font-size: 1.2rem;
		color: #797979;
		position: relative;
	}
	.breadcrumbs li::before,
	.breadcrumbs li::after{
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0px;
		margin: auto;
		content: "";
		vertical-align: middle;
	}
	.breadcrumbs li::before{
		right: 0px;
		width: 8px;
		height: 8px;
		border-top: 1px solid #666;
		border-right: 1px solid #666;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.breadcrumbs li:last-child:before{
		display: none;
	}
}
@media (min-width: 993px)  {
	.breadcrumbs li:before,
	.breadcrumbs li:after{
		content: "";
	  position: absolute;
	  top: 50%;
		margin-top: -1.5em;
	  border-top: 1.5em solid transparent;
	  border-bottom: 1.5em solid transparent;
	  border-left: 0em solid;
	  right: -1em;
	}
	.breadcrumbs li:last-child:before,
	.breadcrumbs li:last-child:after{
		display: none;
	}
	.breadcrumbs li:before{
	 right: -1.1em;
	 border-left: 10px solid #ccc;
	}
	.breadcrumbs li:after{
	 right: -1.05em;
	 border-left: 10px solid #fff;
	}
}
*/


/*==========================================
[footer_banner]
===========================================*/
.footer_banner_wrapp {
	max-width: 1100px;
	/*padding-left: 15px;
	padding-right: 15px;*/
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 8.0rem;
}
.footer_banner_wrapp h2 {
	font-weight: 500;
	color: #ffe900;
	background-color: #1b4c95;
	line-height: 1;
	margin-bottom: 2.0rem;
}
@media (max-width: 992px) {
	.footer_banner_wrapp h2 {
		padding: 25px 32px;
	}
}
@media (min-width: 993px) {
	.footer_banner_wrapp h2 {
		padding: 35px 50px;
	}
}

/* sns_list_wrapp 
-------------------------------------------*/
.sns_list_wrapp {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.footer_banner_wrapp h3 {
	font-weight: 500;
	color: #1b4c95;
	line-height: 1;
	margin-bottom: 0.5rem;
}

/* sns_list_box */
.sns_list_box {
	background-color: #fff;
	padding: 2%;
	border: 5px solid #1b4c95;
}
@media (max-width: 992px) {
	.sns_list_box {
		width: 100%;
		padding: 5%;
		margin-bottom: 30px;
	}
}
@media (min-width: 993px) {
	.sns_list_box {
		width: 49%;
		padding: 3.5% 4%;
	}
}

.sns_list_title {
	/*border-bottom: 4px #1b4c95 solid;*/
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 15px;
	margin-bottom: 24px;
}
.sns_list_title:before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	bottom: -7px;
	width: 100%;
	/*height: 5px;
	border-radius: 5px;*/
	background: #1b4c95;
}
.sns_list_title h3 {
	width: 50%;
	margin-top: 0.0rem!important;
    margin-bottom: 0.0rem!important;
	font-weight: 700!important;
}
.sns_list_title a {
	font-weight: 400;
	color: #fff!important;
	background-color: #1b4c95;
	line-height: 1;
	margin-bottom: 2.0rem;
	text-decoration: none!important;
	padding: 6px 15px 6px 25px;
	border-radius: 70px;
	width: 50%;
	position: relative;
}
.sns_list_title a:before {
	content: "";
    background: url(../images/icon_arrow_w.svg);
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
    width: 12px;
    height: 12px;
    position: absolute;
    left: 13px;
	top: 0;
	bottom: 0;
	margin: auto;
}
@media (max-width: 992px) {
	.sns_list_title h3 {
		font-size:1.375rem;
	}
	.sns_list_title a {
		font-size: 0.75rem;
	}
	.sns_list_title:before {
		height: 2.0px;
		border-radius: 2.0px;
	}
}
@media (min-width: 993px) {
	.sns_list_title a {
		font-size: 0.9375rem;
	}
	.sns_list_title:before {
		height: 4px;
		border-radius: 4px;
	}
}

/* sns_list 
-------------------------------------------*/
.sns_list {
	display: flex;
	flex-wrap: wrap;
	/*justify-content: space-between;*/
	justify-content: center;
	list-style: none;
}
.sns_list li {
	width: 30%;
	text-align: center;
	margin-left: 1.5%;
	margin-right: 1.5%;
}
.sns_list li a{
	/*border: 2px #333 solid;
	border-radius: 10px;
	width: 100%;
	padding: 25px;*/
	display: flex;
	justify-content: center;
	align-items: center;
}
.sns_list li img{
	/*height: 70px;*/
	vertical-align:top;
	/*width: 45px;
	height: 50px;*/
	padding: 8px;
}
.sns_list li p{
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1;
}
@media (max-width: 992px) {
	.sns_list {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	.sns_list li p{
		display: none;
	}
}
@media (min-width: 993px) {
	.sns_list {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
}


/* sns_instagram_box 
-------------------------------------------*/
.sns_instagram_box{
	background-color: #fff;
	border: 5px solid #1b4c95;
	margin-top: 26px;
}
.sns_instagram_box h4{
	margin-top: 0rem!important;
    margin-bottom: 1.0rem;
    font-weight: 700;
	color: #1b4c95;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	line-height: 1;
    background: linear-gradient(transparent 50%, #ffe900 50%);
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}
.sns_instagram_box h4::before,
.sns_instagram_box h4::after {
  width: 2px;
  content: "";
  background-color: #1b4c95;
}
.sns_instagram_box h4::before {
  margin-right: 0.5em;
  transform: rotate(-30deg);
}
.sns_instagram_box h4::after {
  margin-left: 0.5em;
  transform: rotate(30deg);
}

@media (max-width: 992px) {
	.sns_instagram_box{
		padding: 30px 5% 5%;
		position: relative;
	}
	.sns_instagram_box .text_check {
		width: 60px;
		position: absolute;
		right: 15px;
		top: 55px;
	}
	.sns_instagram_box h4{
		font-size: 1rem;
	}
	.sns_instagram_box h4::before,
	.sns_instagram_box h4::after {
		height: 18px;
	}
}
@media (min-width: 993px) {
	.sns_instagram_box{
		padding: 5% 4% 3.5%;
		position: relative;
	}
	.sns_instagram_box .text_check {
		width: 200px;
		position: absolute;
		right: 30px;
		top: 50px;
	}
	.sns_instagram_box h4::before,
	.sns_instagram_box h4::after {
		height: 28px;
	}
}


/* sns_instagram_list */
.sns_instagram_box .sns_instagram_list {
  display : flex;
  flex-wrap : wrap;
  justify-content:space-between;
  margin-top: 6.0rem;
}
.sns_instagram_box .sns_instagram_list h5{
	color: #1b4c95;
	text-align: center;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 10px;
	font-size: 1.125rem;
}
@media (max-width: 992px) {
	.sns_instagram_box .sns_instagram_list {
		margin-top: 3.0rem;
	}
	.sns_instagram_box .sns_instagram_list li {
		width: 50%;
		padding: 0 10px;
	}
}
@media (min-width: 993px) {
	.sns_instagram_box .sns_instagram_list {
		margin-top: 6.0rem;
	}
	.sns_instagram_box .sns_instagram_list li {
		width: 50%;
		padding: 0 30px;
	}
}

.sns_instagram_box figure {
	width:55%;
	margin-top: 40px;
	margin-left: auto;
	margin-right: auto;
}




/*==========================================
[footer]
===========================================*/
.footer {
	clear:both;
	padding-bottom: 2.0rem;
	padding-top: 2.0rem;
	background-color: #ffe900;
}


/*-------------------------------------------
footer_inr
-------------------------------------------*/
/* copyright
-------------------------------------------*/
.copyright {
	text-align: center;
	clear: both;
	font-size: 0.875rem;
}


/* mail_link
-------------------------------------------*/
.mail_link {
	text-align: center;
	margin-top: 1.0rem;
	font-size: 0.875rem;
}
.mail_link a{
	text-decoration: underline;
}





/*==================================================
fade
===================================*/
/* その場で */
.fadeIn{
  animation-name:fadeInAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
  opacity:0;
  }
  
  @keyframes fadeInAnime{
    from {
      opacity: 0;
    }
  
    to {
      opacity: 1;
    }
  }
  
/* 下から */
.fadeUp{
  animation-name:fadeUpAnime;
  animation-duration:0.9s;
  animation-fill-mode:forwards;
  opacity:0;
  }  
  @keyframes fadeUpAnime{
    from {
      opacity: 0;
    transform: translateY(30px);
    }  
    to {
      opacity: 1;
    transform: translateY(0);
    }
  }

/* bubble */
.fadeUp-bubble {
  animation-name:fadeUp-bubbleAnime;
  animation-fill-mode:forwards;
  opacity:0;
  animation-duration:0.9s;
  }  
  @keyframes fadeUp-bubbleAnime{
    from {
      opacity: 0;
    transform: translateY(500px);
    }  
    to {
      opacity: 1;
    transform: translateY(0);
    }
  }
  
  /* 上から */  
  .fadeDown{
  animation-name:fadeDownAnime;
  animation-duration:0.9s;
  animation-fill-mode:forwards;
  opacity:0;
  }  
  @keyframes fadeDownAnime{
    from {
      opacity: 0;
    transform: translateY(-30px);
    }  
    to {
      opacity: 1;
    transform: translateY(0);
    }
  }
  
  /* スクロールをしたら出現する要素にはじめに透過0を指定　*/   
  .fadeInTrigger,
  .fadeUpTrigger,
  .fadeDownTrigger,
  .fadeLeftTrigger,
  .fadeRightTrigger{
      opacity: 0;
  }
  .fadeUp-bubbleTrigger{
      opacity: 0;
  }


  /*==================================================
 zoom
  ===================================*/
   .zoomIn{
    animation-name:zoomInAnime;
    animation-duration:0.5s;
    animation-fill-mode:forwards;
  }
  
  @keyframes zoomInAnime{
    from {
    transform: scale(0.6);
    opacity: 0;
    }  
    to {
      transform: scale(1);
    opacity: 1;
    }
  }
  
  /* スクロールをしたら出現する要素にはじめに透過0を指定　*/   
  .zoomInTrigger,
  .zoomOutTrigger{
      opacity: 0;
  }
  
  
  /*==================================================
  1文字ずつ出現 TextAnime
  ===================================*/
  /*
.eachTextAnime span{opacity: 0;}
.eachTextAnime.appeartext span{ animation:text_anime_on 1s ease-out forwards; }
@keyframes text_anime_on {
  0% {opacity:0;}
  100% {opacity:1;}
}
*/
  
  /*==================================================
  アニメーション設定
  ===================================*/  
  /* 回数*/  
  /*
  .count2{  
    animation-iteration-count: 2;
  }
    .countinfinite{  
    animation-iteration-count: infinite;
  }
  */

  /* アニメーションスタートの遅延時間*/  
  .delay-time005{  
    animation-delay: 0.05s;
  }
  .delay-time05{  
    animation-delay: 0.5s;
  }  
  .delay-time1{  
    animation-delay: 1s;
  }  
  .delay-time15{  
    animation-delay: 1.5s;
  }  
  .delay-time2{  
    animation-delay: 2s;
  }  
  .delay-time25{  
    animation-delay: 2.5s;
  }   
  .delay-time3{  
    animation-delay: 3s;
  }  
  .delay-time35{  
    animation-delay: 3.5s;
  }     
  .delay-time4{  
    animation-delay: 3s;
  }  
  .delay-time45{  
    animation-delay: 4.5s;
  }       
  .delay-time5{  
    animation-delay: 5s;
  }  
  .delay-time55{  
    animation-delay: 5.5s;
  }
  
  /* アニメーション自体が変化する時間*/  
  .change-time05{  
    animation-duration: 0.5s;
  }
  .change-time1{  
    animation-duration: 1s;
  }
  .change-time15{  
    animation-duration: 1.5s;
  }
  .change-time2{  
    animation-duration: 2s;
  }
  .change-time25{  
    animation-duration: 2.5s;
  }
  .change-time3{  
    animation-duration: 3s;
  }
  .change-time35{  
    animation-duration: 3.5s;
  }
  .change-time4{  
    animation-duration: 4s;
  }
  .change-time45{  
    animation-duration: 4.5s;
  }
  .change-time5{  
    animation-duration: 5s;
  }
  .change-time55{  
    animation-duration: 5.5s;
  }