@charset "utf-8";
/* CSS Document */
/*====================================
Reset
====================================*/
html{
	width: 100%;
	font-size:2.41546vw; /* 1rem=10px */
	font-weight:400;
}
body{
	min-width: 320px;
	line-height: 1;
	color: #000;
	background-color: #FFF;
	position: relative;
	overflow-x: hidden;
	font-family: 'Noto Sans JP',"メイリオ","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media screen and (min-width: 600px) {
	html{
		font-size: 10px;
	}
}

img{
	width: 100%;
}
a{
	text-decoration: none;
	color:inherit;
}
a, input, .slider_prev, .slider_next, .swiper-pagination-bullet{
	-webkit-tap-highlight-color:rgba(0,0,0,0); /* ハイライトカラー無効化 */
	 outline: 0;
}

::selection {
	background: #E7E8EE;
}

/*====================================
Common
====================================*/
#wrap{
	box-sizing: border-box;
	min-height: calc(100vh - 50px - 223.42vw);
}
.cmn_width{
	width: 85.5vw;
	margin: 0 auto;
}
.anchor{
	display: block;
	width: 0;
	height: 0;
	padding-top: 50px;
	margin-top: -50px;
}

@media screen and (min-width: 600px) {
	#wrap{
		min-height: calc(100vh - 830px);
	}
}
@media screen and (min-width: 960px) {
	.cmn_width{
		width: 900px;
	}
}
@media screen and (min-width: 1100px) {
	#wrap{
		min-height: calc(100vh - 830px);
	}
	.cmn_width{
		width: 1100px;
	}
}

/* 画像
--------------------------------------*/
.fit_thumbnail img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* IE */
.ie .fit_thumbnail{
	overflow: hidden;
}
.ie .fit_thumbnail img{
	width: auto;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.posted_img{
	display: block;
	width: 100%;
	position: relative;
	height: 0;
	overflow: hidden;
	padding-bottom: 66.66%;
}
.posted_img img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.posted_img.dummy_img{
	background-color: #fff;
}
.posted_img.dummy_img img{
	width: 14.79%;
	height: auto;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* 画像ホバー
--------------------------------------*/
@media screen and (max-width: 1099px) {
	.hover_layer_box .hover_layer{
		display: none;
	}
}
@media screen and (min-width: 1100px) {
	.hover_layer_box{
		position: relative;
	}
	.hover_layer_box:before{
		content:'';
		display: block;
		position: absolute;
		pointer-events: none;
		z-index: 3;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		opacity: 0;
		background: rgba(0, 0, 0, .7);
		transition: opacity .3s ease;
	}
	.hover_layer_box .hover_layer{
		pointer-events: none;
		position: absolute;
		z-index: 4;
		top: 50%;
		left: 50%;
		transform: translate(-50%, 0%);
		opacity: 0;
		color: #FFF;
		font-size: 1.6rem;
		transition: opacity .3s ease, transform .3s ease;
	}
	a:hover .hover_layer_box:before,
	.hover_layer_box:hover:before{
		opacity: 1;
	}
	a:hover .hover_layer_box .hover_layer,
	.hover_layer_box:hover .hover_layer{
		opacity: 1;
		transform: translate(-50%, -50%);
	}
}

/* 共通タイトル
--------------------------------------*/
.cmn_ttl1{
	position: relative;
	color: #131E5A;
	font-weight: 700;
	font-size: 2rem;
	padding-bottom: 5.31vw;
}
.cmn_ttl1:before{
	content:'';
	display: block;
	position: absolute;
	pointer-events: none;
	left: 0;
	bottom: 0;
	background-color: #131E5A;
	height: 0.724vw;
	width: 7.24vw;
}

@media screen and (min-width: 600px) {
	.cmn_ttl1{
		font-size: 20px;
		padding-bottom: 22px;
	}
	.cmn_ttl1:before{
		height: 3px;
		width: 30px;
	}
}
@media screen and (min-width: 960px) {
	.cmn_ttl1{
		font-size: 28px;
	}
	.cmn_ttl1:before{
		width: 40px;
	}
}

/* 共通ボタン
--------------------------------------*/
.cmn_btn1{
	display: block;
	box-sizing: border-box;
	position: relative;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 71.25vw;
	height: 15.7vw;
}
.cmn_btn1:before,
.cmn_btn1:after{
	content:'';
	display: block;
	position: absolute;
	pointer-events: none;
	background-color: #000;
	width: 100%;
	height: 3px;
}
.cmn_btn1:before{
	top: 0;
	left: 0;
}
.cmn_btn1:after{
	bottom: 0;
	right: 0;
}
.cmn_btn1_txt{
	position: relative;
	font-weight: 700;
	font-size: 1.8rem;
	padding-left: 5.55vw;
}
.cmn_btn1_txt:before{
	content:'';
	display: block;
	position: absolute;
	pointer-events: none;
	box-sizing: border-box;
	width: 3.86vw;
	height: 3.86vw;
	border-top: solid 3px #000;
	border-right: solid 3px #000;
	top: 50%;
	left: 0;
	transform: translate(-40%, -50%) rotate(45deg);
}

@media screen and (min-width: 600px) {
	.cmn_btn1{
		width: 330px;
		height: 75px;
	}
	.cmn_btn1_txt{
		font-size: 20px;
		padding-left: 24px;
	}
	.cmn_btn1_txt:before{
		width: 16px;
		height: 16px;
	}
}
@media screen and (min-width: 1100px) {
	.cmn_btn1:before,
	.cmn_btn1:after{
		transition: transform .2s ease;
	}
	.cmn_btn1:hover:before,
	.cmn_btn1:hover:after{
		transition: transform .3s cubic-bezier(0.73, -0.505, 0.28, 1.540);
	}
	.cmn_btn1:hover:before{
		transform: translateX(30px);
	}
	.cmn_btn1:hover:after{
		transform: translateX(-30px);
	}
}

.cmn_arrow_btn_l,
.cmn_arrow_btn_r{
	box-sizing: border-box;
	position: absolute;
	width: 9.66vw;
	height: 10.38vw;
}
.cmn_arrow_btn_l:before,
.cmn_arrow_btn_r:before,
.cmn_arrow_btn_l:after,
.cmn_arrow_btn_r:after{
	content:'';
	display: block;
	position: absolute;
	pointer-events: none;
	box-sizing: border-box;
}
.cmn_arrow_btn_l:before,
.cmn_arrow_btn_r:before{
	width: 100%;
	height: 3px;
	left: 0;
	bottom: 0;
	background-color: #000;
}
.cmn_arrow_btn_l:after,
.cmn_arrow_btn_r:after{
	top: 50%;
	left: 50%;
	border-top: solid 3px #000;
	width: 4.34vw;
	height: 4.34vw;
}
.cmn_arrow_btn_l:after{
	border-left: solid 3px #000;
	transform: translate(-25%, -50%) rotate(-45deg);
}
.cmn_arrow_btn_r:after{
	border-right: solid 3px #000;
	transform: translate(-75%, -50%) rotate(45deg);
}

@media screen and (min-width: 600px) {
	.cmn_arrow_btn_l,
	.cmn_arrow_btn_r{
		width: 40px;
		height: 43px;
	}
	.cmn_arrow_btn_l:after,
	.cmn_arrow_btn_r:after{
		width: 18px;
		height: 18px;
	}
}
@media screen and (min-width: 1100px) {
	.cmn_arrow_btn_l:before,
	.cmn_arrow_btn_r:before{
		transition: height .25s ease-in-out, background 1s ease-in-out;
	}
	.cmn_arrow_btn_l:after,
	.cmn_arrow_btn_r:after{
		transition: border 0.3s ease-in-out;
	}
	.cmn_arrow_btn_l:hover:before,
	.cmn_arrow_btn_r:hover:before,
	a:hover .cmn_arrow_btn_l:before,
	a:hover .cmn_arrow_btn_r:before{
		height: 100%;
		background-color: #62B52E;
		transition: height 0.15s ease-in-out;
	}
	.cmn_arrow_btn_l:hover:after,
	.cmn_arrow_btn_r:hover:after,
	a:hover .cmn_arrow_btn_l:after,
	a:hover .cmn_arrow_btn_r:after{
		border-color: #FFF;
		transition: border 0.15s ease-in-out;
	}
}

/* 埋め込み動画
--------------------------------------*/
.cmn_movie_wrap{
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	border-radius: 10px;
	background-color: #fff;
}
.cmn_movie_wrap .icon{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 12.07vw;
	height: 12.07vw;
}
.cmn_movie_wrap iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (min-width: 600px) {
	.cmn_movie_wrap .icon{
		width: 50px;
		height: 50px;
	}
}
@media screen and (min-width: 960px) {
	.cmn_movie_wrap .icon{
		width: 72px;
		height: 72px;
	}
}
@media screen and (min-width: 1100px) {
	.cmn_movie_wrap.js--movie_start_btn{
		cursor: pointer;
	}
	.cmn_movie_wrap .icon{
		transition: opacity .3s ease;
	}
	.cmn_movie_wrap.js--movie_start_btn:hover .icon{
		opacity: .7;
	}
}

/*====================================
header
====================================*/
header{
	box-sizing: border-box;
	width: 100%;
	height: 50px;
	position: relative;
	z-index: 100;
}
.header_inner{
	box-sizing: border-box;
}
.header_logo{
	display: flex;
	align-items: center;
}
.header_logo .logo{
	width: 26px;
}
.header_logo .company_name{
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
	color: #171B60;
	padding-left: 8px;
}

.hamburger_btn{
	position: fixed;
	top: 0;
	right: 0;
	width: 50px;
	height: 50px;
	background-color: #FFF;
	z-index: 2001;
}
.hamburger_btn .hamburger_inner{
	display: block;
	position: absolute;
	width: 30px;
	height: 12px;
	top: 19px;
	left: 10px;
	transition: transform 0.4s ease-in-out;
}
.hamburger_btn span{
	position: absolute;
	top: 0;
	right: 0;
	width: 30px;
	height:2px;
	background-color: #131E5A;
	transition: transform 0.4s ease-in-out, opacity 0.4s ease-in-out;
}
.hamburger_btn span:first-child{
	z-index: 2;
}
.hamburger_btn.is--open span:first-child{
	transform:translate(0px, 5px) rotate(-405deg);
}
.hamburger_btn span:nth-child(2){
	top: 10px;
	background-color: #62B52E;
}
.hamburger_btn.is--open span:nth-child(2){
	transform:translate(0px, -5px) rotate(405deg);
}

@media screen and (max-width: 1099px) {
	.header_inner{
		padding-left: 20px;
	}
	.header_logo{
		padding-top: 12px;
	}
}
@media screen and (max-width: 599px) {
	.header_inner{
		padding-left: 5.07vw;
	}
}

@media screen and (min-width: 1100px) {
	header{
		height: 100px;
	}
	.header_logo .logo{
		width: 50px;
	}
	.header_logo .company_name{
		font-size: 16px;
		line-height: 1.31;
		padding-left: 14px;
	}
	.hamburger_btn{
		display: none;
	}
}

/*  gnav
--------------------------------------*/
@media screen and (max-width: 1099px) {
	.gnav_inner{
		display: none;
	}
}

@media screen and (min-width: 1100px) {
	.gnav{
		box-sizing: border-box;
		position: relative;
		z-index: 100;
		width: 100%;
		display: flex;
		justify-content: space-between;
		padding-left: 20px;
	}
	.gnav_inner{
		display: flex;
		height: 100%;
	}
	.gnav .nav_list{
		display: flex;
		margin-right: 20px;
	}
	.gnav .nav_item{
		margin-top: 42px;
		margin-right: 30px;
		position: relative;
	}
	.gnav .nav_item.has--dd:before{
		content:'';
		display: block;
		position: absolute;
		pointer-events: none;
		box-sizing: border-box;
		width: 8px;
		height: 8px;
		border-right: solid 2px #000;
		border-bottom: solid 2px #000;
		left: 50%;
		top: 21px;
		transform: translateX(-70%) rotate(45deg);
		transition: border .4s ease;
	}
	.gnav .nav_item .nav_txt{
		font-weight: 700;
		font-size: 15px;
		cursor: pointer;
		transition: color .3s ease;
	}
	.gnav .nav_item .nav_txt:hover,
	.gnav .nav_item.has--dd:hover .nav_txt{
		color: #62B52E;
	}
	.gnav .nav_item.has--dd:hover:before{
		border-color: #62B52E;
	}
	.gnav .nav_item.has--dd .nav_txt{
		padding-bottom: 30px;
	}
	.gnav .dropdown_blc{
		position: absolute;
		left: 0;
		top: 20px;
		width: 100%;
		opacity: 0;
		z-index: 3;
		pointer-events: none;
		transition: opacity .3s ease;
	}
	.gnav .has--dd:hover .dropdown_blc{
		opacity: 1;
		transition-delay: .1s;
	}
	.gnav .dropdown_blc.service{
		left: -422px;
	}
	.gnav .dropdown_layer{
		background-color: rgba(0,0,0,.3);
		opacity: 0;
		pointer-events: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		transition: opacity .3s ease;
	}
	.gnav .has--dd:hover .dropdown_layer{
		opacity: 1;
	}
	.gnav .dropdown_box{
		width: 900px;
		padding-top: 40px;
		box-sizing: border-box;
		transform: translateY(-5px);
		transition: transform .3s ease;
	}
	.gnav .has--dd:hover .dropdown_box{
		pointer-events: auto;
		transform: translateY(0px);
		transition-delay: .1s;
	}
	.gnav .dropdown_box_inner{
		width: 100%;
		box-sizing: border-box;
		display: flex;
		align-items: center;
		background-color: #fff;
		position: relative;
		padding: 10px 40px 10px 10px;
	}
	.gnav .dropdown_box_inner:before{
		content:'';
		display: block;
		position: absolute;
		pointer-events: none;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 12px 20px 12px;
		border-color: transparent transparent #FFF transparent;
		top: -19px;
		left: 50px;
	}
	.gnav .dropdown_blc.service .dropdown_box_inner:before{
		left: 439px;
	}
	.gnav .dropdown_box .box_img{
		width: 300px;
	}
	.gnav .dropdown_box .box_content{
		flex:1;
		padding: 0 40px ;
		position: relative;
	}
	.gnav .dropdown_box .box_content .to_archive{
		position: absolute;
		top: 0;
		right: 0;
	}
	.gnav .dropdown_box .box_content .to_archive .btn{
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		width: 110px;
		height: 40px;
		border: solid 2px #000;
		font-size: 13px;
		font-weight: 700;
		transition: background .3s ease, color .3s ease, border .3s ease;
	}
	.gnav .dropdown_box .box_content .to_archive .btn:hover{
		background-color: #131E5A;
		border-color: #131E5A;
		color: #FFF;
	}
	.gnav .dropdown_box .list_ttl{
		font-size: 15px;
		font-weight: 700;
		margin-bottom: 20px;
	}
	.gnav .dropdown_box .link_sub_item{
		font-size: 13px;
		line-height: 1.3;
		padding-left: 1em;
		text-indent: -1em;
	}
	.gnav .dropdown_box .link_sub_item:not(:last-child){
		margin-bottom: 13px;
	}
	.gnav .dropdown_box .link_sub_item a:hover{
		text-decoration: underline;
	}
	.gnav .dropdown_box .list_wrap1{
		margin-bottom: 50px;
	}
	.gnav .dropdown_box .list_wrap1 .list_ttl{
		line-height: 1.86;
		margin-bottom: 15px;
	}
	.gnav .dropdown_box .list_wrap1 .link_sub_list_wrap{
		display: flex;
	}
	.gnav .dropdown_box .list_wrap1 .sub_list1{
		margin-right: 45px;
	}
	.gnav .dropdown_box .list_wrap2{
		display: flex;
	}
	.gnav .dropdown_box .list_wrap2_box.box1{
		margin-right: 40px;
	}

	.gnav .nav_sns{
		display: flex;
		align-items: center;
	}
	.gnav .nav_sns_btn svg{
		width: 100%;
	}
	.gnav .nav_sns_btn path{
		fill: #000;
		transition: fill .3s ease;
	}
	.gnav .nav_sns_btn:hover path{
		fill:#62B52E;
	}
	.gnav .nav_sns_btn.fb{
		width: 14px;
		margin-right: 20px;
	}
	.gnav .nav_sns_btn.fb svg{
		height: 24px;
	}
	.gnav .nav_sns_btn.insta{
		width: 23px;
		margin-right: 19px;
	}
	.gnav .nav_sns_btn.insta svg{
		height: 23px;
	}
	.gnav .nav_sns_btn.youtube{
		width: 35px;
	}
	.gnav .nav_sns_btn.youtube svg{
		height: 26px;
	}

	.gnav .nav_contact{
		width: 100px;
	}
	.gnav .nav_contact_btn{
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		background-color: #EEF0FF;
		transition: background .3s ease;
	}
	.gnav .nav_contact_btn svg{
		width: 31px;
		height: 19px;
	}
	.gnav .nav_contact_btn path{
		fill:#131e5a;
		transition: fill .3s ease;
	}
	.gnav .nav_contact_btn:hover{
		background-color: #62B52E;
	}
	.gnav .nav_contact_btn:hover path{
		fill:#FFF;
	}

	.gnav.is--firstview{
		height: 100px;
	}
	.gnav.is--fix{
		height: 60px;
		background-color: #FFF;
		position: fixed;
		top: 0;
		left: 0;
		transition: height .2s ease;
		transform: translateY(-62px);
		animation: gnav_fix .4s forwards;
	}
	.gnav.is--fix .header_logo .logo{
		width: 35px;
	}
	.gnav.is--fix .header_logo .company_name{
		font-size: 11px;
		line-height: 1.27;
		padding-left: 10px;
	}
	.gnav.is--fix .nav_item{
		margin-top: 22px;
	}
	.gnav.is--fix .nav_item.has--dd .nav_txt{
		padding-bottom: 40px;
	}
	.gnav.is--fix .dropdown_blc{
		top: 30px;
	}
}
@media screen and (min-width: 1300px) {
	.gnav{
		padding-left: calc((100% - 1300px) / 2);
	}
	.gnav .nav_list{
		margin-right: 39px;
	}
	.gnav .nav_item{
		margin-right: 40px;
	}
}

@keyframes gnav_fix {
  0% { transform: translateY(-62px); }
  100% {transform: translateY(0px); }
}


/*===============================
hamburger menu
===============================*/
#hamburger_menu{
	z-index:2000;
	position: fixed;
	width: 300px;
	height: 100vh;
	top: 0;
	right: -350px;
	background-color: #FFF;
	box-sizing: border-box;
	transition: transform .5s ease;
}
#hamburger_menu.is--open{
	transform: translateX(-350px);
}
#hamburger_menu .menu_inner{
	overflow-y: scroll;
	max-height: 100%;
	padding: 67px 37px 80px 37px;
	box-sizing: border-box;
}

/* blc_link */
#hamburger_menu .blc_link{
	margin-bottom: 50px;
}
#hamburger_menu .blc_link .link_item:not(:last-child){
	margin-bottom: 38px;
}
#hamburger_menu .blc_link .link_item.has--sub{
	margin-bottom: 23px;
}
#hamburger_menu .blc_link .link_item a{
	display: inline-block;
	box-sizing: border-box;
	font-size: 16px;
	font-weight: 700;
	padding-bottom: 10px;
}
#hamburger_menu .blc_link .link_item.is--current a{
	border-bottom: solid 3px #000;
}
#hamburger_menu .blc_link .link_sub_list{
	padding-left: 10px;
	margin-bottom: 50px;
}
#hamburger_menu .blc_link .link_sub_item{
	font-weight: 700;
	font-size: 13px;
	line-height: 1.3;
	padding-left: 1em;
	text-indent: -1em;
}
#hamburger_menu .blc_link .link_sub_item:not(:last-child){
	margin-bottom: 32px;
}
#hamburger_menu .blc_contact{
	margin-bottom: 48px;
}
#hamburger_menu .blc_contact .btn{
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	border: solid 2px #131E5A;
	width: 100%;
	height: 50px;
}
#hamburger_menu .blc_contact .btn .txt{
	font-size: 18px;
	font-weight: 700;
	margin-left: 8px;
	color: #131E5A;
}
#hamburger_menu .blc_contact .btn.contact{
	margin-bottom: 20px;
}
#hamburger_menu .blc_contact .btn.contact svg{
	width: 23px;
	height: 15px;
}
#hamburger_menu .blc_contact .btn.tel svg{
	width: 16px;
	height: 21px;
}
#hamburger_menu .blc_contact .btn.tel .txt{
	margin-left: 11px;
}
#hamburger_menu .blc_contact .btn path{
	fill:#131E5A;
}
#hamburger_menu .blc_sns{
	display: flex;
	justify-content: center;
}
#hamburger_menu .blc_sns .sns_btn{
	display: block;
}
#hamburger_menu .blc_sns .sns_btn:not(:last-child){
	margin-right: 37px;
}
#hamburger_menu .blc_sns .sns_btn svg{
	width: 100%;
}
#hamburger_menu .blc_sns .sns_btn path{
	fill:#000;
}
#hamburger_menu .blc_sns .sns_btn.fb{
	width: 18px;
}
#hamburger_menu .blc_sns .sns_btn.fb svg{
	height: 33px;
}
#hamburger_menu .blc_sns .sns_btn.insta{
	width: 31px;
}
#hamburger_menu .blc_sns .sns_btn.insta svg{
	height: 31px;
}
#hamburger_menu .blc_sns .sns_btn.youtube{
	width: 44px;
}
#hamburger_menu .blc_sns .sns_btn.youtube svg{
	height: 32px;
}


/* 背景
--------------------------------------*/
.hamburger_layer{
	background-color: rgba(0,0,0,.3);
	position: fixed;
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index:1999;
	pointer-events: none;
	transition:opacity .5s ease;
	opacity: 0;
}
.hamburger_layer.is--open{
	pointer-events: auto;
	opacity: 1;
}

@media screen and (min-width: 1100px) {
	#hamburger_menu,
	.hamburger_layer{
		display: none;
	}
}

/*====================================
footer
====================================*/
/* footer_content
--------------------------------------*/
.footer_content{
	padding-top: 12.07vw;
	padding-bottom: 24.15vw;
}
.footer_link .blc_contact .btn{
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #fff;
	border: solid 3px #131E5A;
	width: 100%;
	height: 16.9vw;
}
.footer_link .blc_contact .btn .txt{
	color: #131E5A;
	font-weight: 700;
	font-size: 2rem;
	margin-left: 2vw;
}
.footer_link .blc_contact .btn.contact svg{
	width: 7.64vw;
	height: 4.79vw;
}
.footer_link .blc_contact .btn.tel svg{
	width: 5.17vw;
	height: 6.55vw;
}
.footer_link .blc_contact .btn.tel .txt{
	font-size: 2.3rem;
	margin-left: 1.2vw;
}

@media screen and (max-width: 959px) {
	.footer_embed_sns{
		margin-top: 50px;
	}
}
@media screen and (max-width: 599px) {
	.footer_link .blc_link{
		display: none;
	}
	.footer_link .blc_contact .btn.contact{
		margin-bottom: 7.24vw;
	}
	.footer_embed_sns{
		margin-top: 12.07vw;
	}
}

@media screen and (min-width: 600px) {
	.footer_content{
		padding-top: 50px;
		padding-bottom: 100px;
	}
	.footer_content .blc_link{
		padding-bottom: 30px;
		display: flex;
	}
	.footer_content .blc_link .link_list1{
		padding-right: 54px;
	}
	.footer_content .blc_link .link_list2{
		flex:1;
	}
	.footer_content .blc_link .link_item:not(:last-child){
		margin-bottom: 40px;
	}
	.footer_content .blc_link .link_item a{
		display: inline-block;
		position: relative;
		font-size: 16px;
		font-weight: 700;
	}
	.footer_content .blc_link .link_item a:after{
		content:'';
		display: block;
		position: absolute;
		pointer-events: none;
		background-color: #000;
		height: 3px;
		left: 0;
		bottom: -12px;
		width: 0;
	}
	.footer_content .blc_link .link_item.is--current a:after{
		width: 100%;
	}
	.footer_content .blc_link .link_list2 .link_item{
		margin-bottom: 31px;
	}
	.footer_content .blc_link .link_sub_item{
		font-weight: 700;
		font-size: 13px;
		line-height: 2.69;
	}
	.footer_link .blc_contact{
		display: flex;
	}
	.footer_link .blc_contact .btn{
		width: 248px;
		height: 70px;
	}
	.footer_link .blc_contact .btn .txt{
		font-size: 20px;
		margin-left: 8px;
	}
	.footer_link .blc_contact .btn.contact{
		margin-right: 20px;
	}
	.footer_link .blc_contact .btn.contact svg{
		width: 32px;
		height: 20px;
	}
	.footer_link .blc_contact .btn.tel{
		pointer-events: none;
	}
	.footer_link .blc_contact .btn.tel svg{
		width: 22px;
		height: 28px;
	}
	.footer_link .blc_contact .btn.tel .txt{
		margin-left: 4px;
	}
}
@media screen and (min-width:960px) {
	.footer_content{
		display: flex;
		justify-content: space-between;
		padding-top: 101px;
	}
	.footer_link{
		flex:1;
		padding-right: 50px;
		display: flex;
		flex-direction: column;
	}
	.footer_link .blc_link{
		flex:1;
	}
	.footer_content .blc_link .link_item a:after{
		transition: width .3s ease;
	}
	.footer_content .blc_link .link_item a:hover:after{
		width: 100%;
	}
	.footer_content .blc_link .link_sub_item a:hover{
		text-decoration: underline;
	}
	.footer_link .blc_contact{
		height: 70px;
	}
	.footer_link .blc_contact .btn{
		transition: background .3s ease;
	}
	.footer_link .blc_contact .btn path{
		fill:#131E5A;
		transition: fill .3s ease;
	}
	.footer_link .blc_contact .btn .txt{
		transition: color .3s ease;
	}
	.footer_link .blc_contact .btn:hover{
		background-color: #131E5A;
	}
	.footer_link .blc_contact .btn:hover path{
		fill:#FFF;
	}
	.footer_link .blc_contact .btn:hover .txt{
		color: #FFF;
	}
	.footer_embed_sns{
		width: 400px;
	}
}
@media screen and (min-width:1100px) {
	.footer_embed_sns{
		width: 500px;
	}
}

/* footer_btm
--------------------------------------*/
.footer_btm{
	background-color: #131E5A;
	padding-top: 21.98vw;
	padding-bottom: 15vw;
	position: relative;
}
.footer_company{
	padding-bottom: 7.24vw;
	text-align: center;
}
.footer_company .footer_logo{
	display: inline-block;
}
.footer_company .footer_logo .logo{
	width: 10.21vw;
	margin: 0 auto;
}
.footer_company .footer_logo .company_name{
	color: #fff;
	font-weight: 700;
	font-size: 1.5rem;
	margin-top: 3.62vw;
	text-align: center;
}
.footer_btm .copyright{
	color: #fff;
	font-size: 1rem;
	text-align: center;
	padding-bottom: 8.69vw;
}
.footer_sns{
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.footer_sns .sns_btn{
	display: block;
}
.footer_sns .sns_btn:not(:last-child){
	margin-right: 4.56vw;
}
.footer_sns .sns_btn svg{
	width: 100%;
}
.footer_sns .sns_btn path{
	fill:#FFF;
}
.footer_sns .sns_btn.fb{
	width: 3.18vw;
}
.footer_sns .sns_btn.fb svg{
	height: 5.79vw;
}
.footer_sns .sns_btn.insta{
	width: 5.49vw;
}
.footer_sns .sns_btn.insta svg{
	height: 5.49vw;
}
.footer_sns .sns_btn.youtube{
	width: 9.58vw;
}
.footer_sns .sns_btn.youtube svg{
	height: 5.55vw;
}


@media screen and (max-width: 599px) {
	.footer_sns{
		right: -1.69vw;
	}
}

@media screen and (min-width: 600px) {
	.footer_btm{
		padding-top: 91px;
		padding-bottom: 30px;
	}
	.footer_company{
		padding-bottom: 30px;
	}
	.footer_company .footer_logo .logo{
		width: 43px;
	}
	.footer_company .footer_logo .company_name{
		font-size: 15px;
		margin-top: 15px;
	}
	.footer_btm .copyright{
		font-size: 10px;
		padding-bottom: 37px;
	}
	.footer_sns .sns_btn:not(:last-child){
		margin-right: 19px;
	}
	.footer_sns .sns_btn.fb{
		width: 14px;
	}
	.footer_sns .sns_btn.fb svg{
		height: 24px;
	}
	.footer_sns .sns_btn.insta{
		width: 23px;
	}
	.footer_sns .sns_btn.insta svg{
		height: 23px;
	}
	.footer_sns .sns_btn.youtube{
		width: 33px;
	}
	.footer_sns .sns_btn.youtube svg{
		height: 24px;
	}
}
@media screen and (min-width: 1100px) {
	.footer_company .footer_logo,
	.footer_sns .sns_btn{
		transition: opacity .3s ease;
	}
	.footer_company .footer_logo:hover,
	.footer_sns .sns_btn:hover{
		opacity: .7;
	}
}
@media screen and (min-width: 1200px) {
	.footer_sns{
		width: 1200px;
	}
}

/* to_top
--------------------------------------*/
footer .js--to_top{
	width: 9.66vw;
	height: 9.66vw;
	position: fixed;
	right: 10px;
	bottom: 15.07vw;
	z-index: 500;
	display: none;
}
footer .js--to_top a{
	display: block;
	width: 100%;
	height: 100%;
	background: #000;
	position: relative;
}
footer .js--to_top a:before{
	content:'';
	display: block;
	position: absolute;
	pointer-events: none;
	box-sizing: border-box;
	width: 4.58vw;
	height: 4.58vw;
	border-top: solid 3px #fff;
	border-right: solid 3px #fff;
	top: 50%;
	left:50%;
  transform: translate(-48%, -20%) rotate(-45deg);
}
footer .js--to_top.is--fixed{
	top: -12.07vw;
	position: absolute;
}

@media screen and (min-width: 600px) {
	footer .js--to_top{
		width: 50px;
		height: 50px;
		right: 20px;
		bottom: 50px;
	}
	footer .js--to_top a:before{
		width: 23px;
		height: 23px;
		border-width: 3px;
	}
	footer .js--to_top.is--fixed{
		top: -70px;
	}
}

@media screen and (min-width: 1100px) {
	footer .js--to_top{
		right: 20px;
	}
	footer .js--to_top a{
		transition: background .3s ease;
	}
	footer .js--to_top a:hover{
		background: #62B52E;
	}
}
@media screen and (min-width: 1300px) {
	footer .js--to_top{
		right: calc((100vw - 1300px) / 2 + 10px);
	}
}

.float_bnr{
	display: none;
	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 500;
}
.float_bnr_item{
	/* width: calc((100% - 0.8vw) / 2); */
	width: 100%;
	height: 11.2vw;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #FF6F00;
	color: #fff;
}
.float_bnr_item.item_tel{
	background: #131E5A;
}
.float_bnr_item.item_tel svg{
	width: 4.53vw;
	height: 6.4vw;
	margin-right: 1.33vw;
}
.float_bnr_item.item_tel path{
	fill: #fff;
}
.float_bnr_item.item_tel .txt{
	font-size: 1.5rem;
	font-weight: 700;
}
.float_bnr_item.item_fanjo .float_bnr_item_inner{
	text-align: center;
}
.float_bnr_item.item_fanjo .subtxt{
	font-size: 1rem;
	margin-bottom: 1vw;
}
.float_bnr_item.item_fanjo .txt{
	font-size: 1.5rem;
	font-weight: 700;
}

@media screen and (max-width: 599px) {
	.float_bnr{
		width: 100%;
	}
	.float_bnr_inner{
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
	.float_bnr_item.item_fanjo .subtxt{
		font-weight: 700;
	}
	.float_bnr_item.item_fanjo .subtxt1 br,
	.float_bnr_item.item_fanjo .subtxt2{
		display: none;
	}
}

@media screen and (min-width: 600px) {
	.float_bnr{
		right: 15px;
		bottom: 150px;
		width: 178px;
		height: 150px;
	}
	.float_bnr_item{
		width: 178px;
		height: 150px;
		transition: opacity .3s ease;
	}
	.float_bnr_item:hover{
		opacity: 0.7;
	}
	.float_bnr_item.item_tel,
	.float_bnr_item.item_fanjo .txt span{
		display: none;
	}
	.float_bnr_item.item_fanjo .subtxt1{
		font-size: 15px;
		line-height: 1.2;
		margin-bottom: 10px;
	}
	.float_bnr_item.item_fanjo .txt{
		font-size: 30px;
	}
	.float_bnr_item.item_fanjo .subtxt2{
		font-size: 15px;
		margin-top: 10px;
	}
}

/*===============================
Slider
===============================*/
/* ページネーション */
.slider_pagination{
	display: flex;
	justify-content: center;
}
.slider_pagination .swiper-pagination-bullet{
	width: 2.41vw;
	height: 2.89vw;
	border-radius: 2px;
	background-color: #E5E5E5;
	opacity: 1;
	transition: background .4s ease;
}
.slider_pagination .swiper-pagination-bullet:not(:last-child){
	margin-right: 1.93vw;
}
.slider_pagination .swiper-pagination-bullet-active{
	background-color: #131E5A;
}

@media screen and (min-width: 600px) {
	.slider_pagination .swiper-pagination-bullet{
		width: 10px;
		height: 12px;
	}
	.slider_pagination .swiper-pagination-bullet:not(:last-child){
		margin-right: 8px;
	}
}
@media screen and (min-width: 1100px) {
	.slider_pagination .swiper-pagination-bullet-active{
		pointer-events: none;
	}
}

/* ナビゲーション */
.slider_arrows{
	position: absolute;
	pointer-events: none;
	z-index: 2;
}
.slider_prev,
.slider_next{
	pointer-events: auto;
	cursor: pointer;
}
.slider_prev.swiper-button-disabled,
.slider_next.swiper-button-disabled{
	opacity: 0;
	pointer-events: none;
}

/*====================================
下層
====================================*/
/* 下層ページタイトル
--------------------------------------*/
.sec_page_ttl .page_ttl_box{
	display: flex;
	align-items: center;
	height: 33.81vw;
}
.sec_page_ttl .page_ttl{
	color: #131E5A;
	font-weight: 700;
	font-size: 2.5rem;
	line-height: 1.52;
}
.sec_page_ttl .page_ttl_img{
	overflow: hidden;
	border-radius: 10px 0 0 10px;
	width: calc((100vw - 100%) / 2 + 100%);
}

@media screen and (max-width: 959px) {
	.sec_page_ttl .page_ttl_img .disp--pc{
		display: none;
	}
}

@media screen and (min-width: 600px) {
	.sec_page_ttl .page_ttl_box{
		height: 140px;
	}
	.sec_page_ttl .page_ttl{
		font-size: 25px;
	}
}
@media screen and (min-width: 960px) {
	.sec_page_ttl .page_ttl_img .disp--sp{
		display: none;
	}
}
@media screen and (min-width: 1100px) {
	.sec_page_ttl .page_ttl_box{
		height: 200px;
	}
	.sec_page_ttl .page_ttl{
		font-size: 38px;
	}
	.sec_page_ttl .page_ttl_img{
		width: 1200px;
		border-radius: 10px;
	}
}

/* パンクズ
--------------------------------------*/
.pnkz{
	background-color: #F0F0F0;
	padding: 3.14vw 0;
	font-size: 1rem;
}

@media screen and (min-width: 600px) {
	.pnkz{
		padding: 13px 0;
		font-size: 10px;
	}
}
@media screen and (min-width: 1100px) {
	.pnkz a:hover{
		text-decoration: underline;
	}
}

/* タグリスト
--------------------------------------*/
.cmn_blc_tag .box_reset{
	margin-bottom: 4.34vw;
	text-align: right;
}
.cmn_blc_tag .box_reset a{
	display: inline-block;
}
.cmn_blc_tag .box_reset span,
.cmn_blc_tag .box_reset svg{
	display: inline-block;
	vertical-align: middle;
}
.cmn_blc_tag .box_reset span{
	color: #131E5A;
	font-size: 1.4rem;
	font-weight: 700;
}
.cmn_blc_tag .box_reset svg{
	width: 4.3vw;
	height: 4.33vw;
	margin-right: 1.15vw;
}
.cmn_blc_tag .box_reset path{
	fill: #131e5a;
}
.cmn_blc_tag .blc_inner{
	background-color: #F2F0ED;
	border-radius: 10px;
	padding: 7.24vw 7.24vw 2.41vw 7.24vw;
}
.cmn_blc_tag .tag_ttl{
	font-size: 1.8rem;
	font-weight: 700;
}
.cmn_blc_tag .tag_list{
	display: flex;
	flex-wrap: wrap;
}
.cmn_blc_tag .tag_item{
	display: block;
	box-sizing: border-box;
	border-radius: 5px;
	background-color: #fff;
	border: solid 1px #D2D2D2;
	color: #131E5A;
	margin-right: 4.83vw;
	margin-bottom: 4.83vw;
	font-size: 1.4rem;
	padding: 1.93vw 1.44vw;
	cursor: pointer;
}
.cmn_blc_tag .tag_item.is--active{
	border-color: #131E5A;
	background-color: #131E5A;
	color: #FFF;
}

@media screen and (max-width: 959px) {
	.cmn_blc_tag .tag_ttl{
		border-bottom: solid 1px #D2D2D2;
		padding-bottom: 20px;
		margin-bottom: 20px;
	}
	.cmn_blc_tag .tag_list{
		width: calc(100% + 20px);
	}
}
@media screen and (max-width: 599px) {
	.cmn_blc_tag .tag_ttl{
		padding-bottom: 4.83vw;
		margin-bottom: 4.83vw;
	}
	.cmn_blc_tag .tag_list{
		width: calc(100% + 4.83vw);
	}
}

@media screen and (min-width: 600px) {
	.cmn_blc_tag .box_reset{
		margin-bottom: 18px;
	}
	.cmn_blc_tag .box_reset span{
		font-size: 14px;
	}
	.cmn_blc_tag .box_reset svg{
		width: 18px;
		height: 18px;
		margin-right: 5px;
	}
	.cmn_blc_tag .blc_inner{
		padding: 30px 30px 10px 30px;
	}
	.cmn_blc_tag .tag_ttl{
		font-size: 18px;
	}
	.cmn_blc_tag .tag_item{
		margin-right: 20px;
		margin-bottom: 20px;
		font-size: 14px;
		padding: 8px 6px;
	}
}
@media screen and (min-width: 960px) {
	.cmn_blc_tag .box_reset{
		margin-bottom: 14px;
	}
	.cmn_blc_tag .box_reset span{
		font-size: 16px;
	}
	.cmn_blc_tag .blc_inner{
		padding: 20px 10px 20px 30px;
		display: flex;
		align-items: center;
	}
	.cmn_blc_tag .tag_ttl{
		padding-right: 30px;
	}
	.cmn_blc_tag .tag_list{
		flex:1;
		padding-left: 30px;
		padding-top: 5px;
		padding-bottom: 5px;
		margin-bottom: -20px;
		position: relative;
	}
	.cmn_blc_tag .tag_list:before{
		content:'';
		display: block;
		position: absolute;
		pointer-events: none;
		left: 0;
		top: 0;
		width: 1px;
		height: calc(100% - 20px);
		background-color: #D2D2D2;
	}
	.cmn_blc_tag .tag_item{
		font-size: 16px;
		padding: 7px 8px;
	}
}
@media screen and (min-width: 1100px) {
	.cmn_blc_tag .box_reset span{
		transition: color .3s ease;
	}
	.cmn_blc_tag .box_reset path{
		transition: fill .3s ease;
	}
	.cmn_blc_tag .box_reset a:hover span{
		color: #62B52E;
	}
	.cmn_blc_tag .box_reset a:hover path{
		fill: #62B52E;
	}
	.cmn_blc_tag .tag_item{
		transition: border .3s ease, background .3s ease, color .3s ease;
	}
	.cmn_blc_tag .tag_item:hover{
		border-color: #131E5A;
		background-color: #131E5A;
		color: #FFF;
	}
	.cmn_blc_tag .tag_item.is--active:hover{
		background-color: #fff;
		border-color: #D2D2D2;
		color: #131E5A;
	}
}


/*===============================
ページャー
===============================*/
.wp-pagenavi{
	display: flex;
	justify-content: center;
	margin-top: 20vw;
}
.wp-pagenavi .page,
.wp-pagenavi .current,
.wp-pagenavi .extend,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .first,
.wp-pagenavi .last{
	height: 9.66vw;
	position: relative;
}
.wp-pagenavi .page,
.wp-pagenavi .current,
.wp-pagenavi .extend{
	box-sizing: border-box;
	font-size: 1.8rem;
	color: #000;
	margin-left: 1.2vw;
	margin-right: 1.2vw;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 9.66vw;
	border: solid 1px #000;
	border-radius: 5px;
}
.wp-pagenavi .current{
	color: #fff;
	border-color: #131E5A;
	background-color: #131E5A;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink{
	width: 3.62vw;
}
.wp-pagenavi .first,
.wp-pagenavi .last{
	width: 5.79vw;
}
.wp-pagenavi .first{
	margin-right: 1.93vw;
}
.wp-pagenavi .previouspostslink{
	margin-right: 2.41vw;
}
.wp-pagenavi .last{
	margin-left: 1.93vw;
}
.wp-pagenavi .nextpostslink{
	margin-left: 2.41vw;
}
.wp-pagenavi .previouspostslink:before,
.wp-pagenavi .nextpostslink:before,
.wp-pagenavi .first:before,
.wp-pagenavi .last:before,
.wp-pagenavi .first:after,
.wp-pagenavi .last:after{
	content:'';
	display: block;
	position: absolute;
	pointer-events: none;
	width: 4vw;
	height: 4vw;
	border-top: solid 2px #000;
	top: 50%;
}
.wp-pagenavi .previouspostslink:before,
.wp-pagenavi .first:before,
.wp-pagenavi .first:after{
	border-left: solid 2px #000;
}
.wp-pagenavi .nextpostslink:before,
.wp-pagenavi .last:before,
.wp-pagenavi .last:after{
	border-right: solid 2px #000;
}
.wp-pagenavi .previouspostslink:before{
	left: 50%;
	transform: translate(-20%,-50%) rotate(-45deg);
}
.wp-pagenavi .first:before{
	left: 1vw;
	transform: translateY(-50%) rotate(-45deg);
}
.wp-pagenavi .first:after{
	right: -1.8vw;
	transform: translateY(-50%) rotate(-45deg);
}
.wp-pagenavi .nextpostslink:before{
	right: 50%;
	transform: translate(20%,-50%) rotate(45deg);
}
.wp-pagenavi .last:before{
	left: -1.8vw;
	transform: translateY(-50%) rotate(45deg);
}
.wp-pagenavi .last:after{
	right: 1vw;
	transform: translateY(-50%) rotate(45deg);
}


@media screen and (min-width: 600px) {
	.wp-pagenavi{
		margin-top: 100px;
	}
	.wp-pagenavi .page,
	.wp-pagenavi .current,
	.wp-pagenavi .extend,
	.wp-pagenavi .previouspostslink,
	.wp-pagenavi .nextpostslink,
	.wp-pagenavi .first,
	.wp-pagenavi .last{
		height: 40px;
	}
	.wp-pagenavi .page,
	.wp-pagenavi .current,
	.wp-pagenavi .extend{
		font-size: 18px;
		margin-left: 10px;
		margin-right: 10px;
		width: 40px;
	}
	.wp-pagenavi .previouspostslink,
	.wp-pagenavi .nextpostslink{
		width: 15px;
	}
	.wp-pagenavi .first,
	.wp-pagenavi .last{
		width: 22px;
	}
	.wp-pagenavi .first{
		margin-right: 18px;
	}
	.wp-pagenavi .previouspostslink{
		margin-right: 40px;
	}
	.wp-pagenavi .last{
		margin-left: 18px;
	}
	.wp-pagenavi .nextpostslink{
		margin-left: 40px;
	}
	.wp-pagenavi .previouspostslink:before,
	.wp-pagenavi .nextpostslink:before,
	.wp-pagenavi .first:before,
	.wp-pagenavi .last:before,
	.wp-pagenavi .first:after,
	.wp-pagenavi .last:after{
		width: 18px;
		height: 18px;
	}
	.wp-pagenavi .first:before{
		left: 4px;
		transform: translateY(-50%) rotate(-45deg);
	}
	.wp-pagenavi .first:after{
		right: -9px;
		transform: translateY(-50%) rotate(-45deg);
	}
	.wp-pagenavi .last:before{
		left: -9px;
	}
	.wp-pagenavi .last:after{
		right: 4px;
	}
}
@media screen and (min-width: 1100px) {
	.wp-pagenavi .page{
		transition: border .3s ease, color .3s ease, background .3s ease;
	}
	.wp-pagenavi .page:hover{
		color: #fff;
		border-color: #131E5A;
		background-color: #131E5A;
	}
	.wp-pagenavi .previouspostslink:before,
	.wp-pagenavi .nextpostslink:before,
	.wp-pagenavi .first:before,
	.wp-pagenavi .last:before,
	.wp-pagenavi .first:after,
	.wp-pagenavi .last:after{
		transition: border .3s ease;
	}
	.wp-pagenavi .previouspostslink:hover:before,
	.wp-pagenavi .nextpostslink:hover:before,
	.wp-pagenavi .first:hover:before,
	.wp-pagenavi .last:hover:before,
	.wp-pagenavi .first:hover:after,
	.wp-pagenavi .last:hover:after{
		border-color: #131E5A;
	}
}
