@charset "UTF-8";

.c-font-m{
    font-family: "Zen Maru Gothic", sans-serif;
}

.c-contain,
.c-cover {
    position: relative;
    z-index: 1;
}


.c-cover video, .c-cover img {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    left: 0;
}



.sub{
    padding: 1px 0 0;	
	background: #F5F8FA;
}
.sub:before{
	content: "";
	z-index: 1;
	position: absolute;
	background: linear-gradient(0deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
	top:0;
	right:0;
	left: 0;
	height: 800px;
}

.sub main{
	background: none;
	position: relative;
	z-index: 1;
}


/* --------------  */

.l-head1{
	position: absolute;
	z-index: 5;
	left: 36px;
	top: 24px;
	right: 48px;
	display: flex;
	justify-content:space-between;
	gap: 0 30px;
}
.l-head2 img,
.l-head1 img{
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}
.l-head1_main{
    flex: 1;
}
.l-head1_logo{
}
.l-head1_navi{
	display: flex;
	gap: 0 44px;
	margin-top: 12px;
	flex-wrap: wrap;
}
.l-head1_navi a{
	font-weight: 500;
	font-size: 15px;
	line-height: 1.7;
	color: #3A5596;
}
.l-head1_time{
}

.top .l-head1_navi a{
	color: #fff;
}
.top .l-head1 {
	left: 6vw;
}


.l-head2{
	position: fixed;
	z-index: 50;
	left: 0;
	right: 0;
	top: 0;
	background: rgba(255, 255, 255, 0.7);
	backdrop-filter: blur(20px);
	display: flex;
	align-items:center;
	justify-content:space-between;
	padding: 14px 39px;

	
	visibility: hidden;
	transition: transform .2s, opacity .2s, visibility 0s .2s;
	opacity: 0;
}

.body-navi .l-head2{

	visibility: visible;
	transition: transform .4s, opacity .4s;
	opacity: 1;

}

.l-head2_logo{}
.l-head2_navi{
    display: flex;
    gap: 0 38px;
}
.l-head2_navi a{
	font-weight: 500;
	font-size: 15px;
	line-height: 1.7;
	color: #3A5596;

}


@media (max-width: 1240px) {
	.l-head1_navi{
		gap: 0 22px;
	}
	.l-head1_time {
	width: 350px;
	}	
	.l-head2_logo{
		width: 350px;		
	}

}

@media (max-width: 1024px) {
}

@media (max-width: 767px) {
	.l-head1{
		display: none;
	}

	.l-head1_navi{
		display: none;
	}
	.sub .l-head2{
    padding: 14px 3%;

	visibility: visible !important;
	opacity: 1 !important;
}
	.body-navi .l-head2{

	}
	.l-head2_logo{
    width: 151px;
}
	.l-head2_navi{
    /* display: block; */
    gap: 0 15px;
}
	.l-head2_navi a{
    /* display: block; */
    font-size: 12px;
    letter-spacing: -0.1em;
}

}


/* --------------  */

.c-mainv{
	overflow: hidden;
	position: relative;
	z-index: 1;
	margin-top: 200px;
	padding: 0px 11.6vw;
	margin-bottom: 108px;
}
.c-mainv:before{
	content: "";
	z-index: -2;
	position: absolute;
	background: #EFF3F7;
	top:0;
	bottom: 0;
	right:0;
	left: 5.6vw;
	border-radius: 0 0 0 100px;
}
.c-mainv:after{
	content: "";
	z-index: -1;
	position: absolute;
	width: 623px;
	height: 360px;
	background: url(../img/common/mainv_bg.svg) 50% 50% no-repeat;
	background-size: contain;
	top:0;
	right:0;
}


.c-mainv_inner{
	max-width: 1022px;
	margin: 0 auto;
	padding-top: 98px;
	padding-bottom: 42px;
}
.c-mainv_ttl{
    color: #3A5596;
    font-weight: 500;
    line-height: 1;
}
.c-mainv_ttl_en{
	display: block;
	font-size: 20px;
	margin-bottom: 22px;
}
.c-mainv_ttl_ja{
	display: block;	
	font-size: 48px;
}


@media (max-width: 1024px) {
	.c-mainv:after{
		width: 500px;
		height: 286px;
	}	
}

@media (max-width: 767px) {
	.c-mainv{
	    margin-top: 100px;
	}
}

@media (max-width: 640px) {
	
	.c-contain,
	.c-cover {}
	.c-cover video, .c-cover img {}
	.sub{}
	.sub:before{}
	.sub main{}
	/* --------------  */
	.c-mainv{
    margin-top: 53px;
    margin-bottom: 73px;
}
	.c-mainv:before{
    border-radius: 0 0 0 50px;
}
	.c-mainv:after{
    width: 251px;
    height: 145px;
}
	.c-mainv_inner{
    padding-top: 62px;
}
	.c-mainv_ttl{}
	.c-mainv_ttl_en{
    font-size: 17px;
    margin-bottom: 14px;
}
	.c-mainv_ttl_ja{
    font-size: 40px;
}	
}

/* --------------  */

.l-breadcrumb{

}
.l-breadcrumb_inner{
	background: #fff;
	display: inline-flex;
	/* justify-content:flex-end; */
	margin-top: 97px;
	/* margin-bottom: 29px; */
	/* margin-left: 2.5%; */
	/* margin-right: 2.5%; */
	flex-wrap: wrap;
	position: relative;
	z-index: 5;
	padding: 6px 16px;
	border-radius: 100px;
}
.l-breadcrumb li{
    font-size: 13px;
    position: relative;
    z-index: 1;
    /* white-space: nowrap; */
    line-height: 1.5;
}

.l-breadcrumb li:before {
  content: "";
  z-index: 1;
  position: absolute;
  width: 1px;
  height: 15px;
  top: 0;
  bottom: 0;
  left: -11px;
  background: #333;
  opacity: 0.3;
  margin: auto;
  transform: rotate(23deg);
}
.l-breadcrumb li:first-child:before{
  display: none;
}


.l-breadcrumb li + li {
    margin: 0 0 0 23px;
}
.l-breadcrumb a{
	color: #333;
	text-decoration: underline;
}
.l-breadcrumb .l-breadcrumb_top{
	overflow: hidden;
	text-indent: -999px;
	width: 16px;
	height: 16px;
	background: url(../img/common/home.svg) 50% 50% no-repeat;
	background-size: contain;
	display: inline-block;
	position: relative;
	z-index: 1;
	top: 2px;
}
.l-breadcrumb span{
  color: #003F6C;
  opacity: 0.5;
  font-weight: 400;  
}

@media (max-width: 1024px) {
}

@media (max-width: 640px) {

	.l-breadcrumb{}
	.l-breadcrumb_inner{
    margin-top: 40px;
    padding: 5px 13px;
}
	.l-breadcrumb li{
    font-size: 11px;
}
	.l-breadcrumb li:before {
    left: -8px;
    height: 11px;
}
	.l-breadcrumb li:first-child:before{}
	.l-breadcrumb li + li {
    margin: 0 0 0 18px;
}
	.l-breadcrumb a{}
	.l-breadcrumb .l-breadcrumb_top{
    width: 13px;
    height: 13px;
}
	.l-breadcrumb span{}

}

/* --------------  */


.pagenavi{
    margin-top: 76px;
}
.pagenavi_detail{
    margin-top: 8px;
    text-align: center;
}
.wp-pagenavi{
    text-align: center;
    position: relative;
    z-index: 1;
    display: flex;
    justify-content:center;
    gap: 0 10px;
}

.wp-pagenavi .pages,
.wp-pagenavi .first,
.wp-pagenavi .extend,
.wp-pagenavi .last{
    display: none;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink{
    display: inline-block;
    position: relative;
    z-index: 1;
    width: 50px;
    height: 50px;
    text-indent: -999px;
    overflow: hidden;
    background: #395495;
    border-radius: 100px;
}
.wp-pagenavi .previouspostslink:before,
.wp-pagenavi .nextpostslink:before{
	content: "";
	z-index: 1;
	position: absolute;
	width: 14px;
	height: 16px;
	background: url(../img/common/arrow01.svg) 50% 50% no-repeat;
	background-size: contain;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}

.wp-pagenavi .previouspostslink:before{
    transform: scale(-1,1);
}

.wp-pagenavi .page,
.wp-pagenavi .current{
    display: inline-flex;
    letter-spacing: normal;
    font-size: 16px;
    width: 50px;
    height: 50px;
    color: #3A5596;
    align-items:center;
    justify-content:center;
}

.wp-pagenavi .current{

    background: #fff;
    border-radius: 100px;
}


.wp-pagenavi .prev,
.wp-pagenavi .next{
    position: absolute;
    z-index: 1;
    top: 0;
    letter-spacing: normal;
}
.wp-pagenavi .prev:before,
.wp-pagenavi .next:before{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 5px;
    height: 5px;
    margin: auto;
    border-top: 2px solid var(--color-black);
    border-right: 2px solid var(--color-black);
    transform: rotate(45deg);
    transition: border-color var(--duration-main) var(--easing-color);
}
.wp-pagenavi .prev:before{left: 16px;transform: scale(-1,1) rotate(45deg);}
.wp-pagenavi .next:before{
    right: 16px;
}

.wp-pagenavi .prev{
    left: 0;
    padding: 0 0 0 41px;
}
.wp-pagenavi .next{
    right: 0;
    padding: 0 41px 0  0;
}

.wp-pagenavi .list{
  letter-spacing: normal;
}

@media (max-width: 1024px) {
	.pagenavi{
    margin-top: 56px;
}
	.pagenavi_detail{}
	.wp-pagenavi{}
	.wp-pagenavi .pages,
	.wp-pagenavi .first,
	.wp-pagenavi .extend,
	.wp-pagenavi .last{}
	.wp-pagenavi .previouspostslink,
	.wp-pagenavi .nextpostslink{
    width: 40px;
    height: 40px;
}
	.wp-pagenavi .previouspostslink:before,
	.wp-pagenavi .nextpostslink:before{}
	.wp-pagenavi .previouspostslink:before{}
	.wp-pagenavi .page,
	.wp-pagenavi .current{
    width: 40px;
    height: 40px;
}
	.wp-pagenavi .current{}
	.wp-pagenavi .prev,
	.wp-pagenavi .next{}
	.wp-pagenavi .prev:before,
	.wp-pagenavi .next:before{}
	.wp-pagenavi .prev:before{}
	.wp-pagenavi .next:before{}
	.wp-pagenavi .prev{}
	.wp-pagenavi .next{}
	.wp-pagenavi .list{}	
}

@media (max-width: 640px) {
}

/* --------------  */

.l-cms{margin-bottom: 82px;}
.l-cms .container{
    max-width: 1200px;
}
.l-cms__inner{
	background: #ffff;
	border-radius: 100px;
	padding: 72px 8.3%;
}
.l-cms_meta{
	display: flex;
	align-items:center;
	margin-bottom: 16px;
}
.l-cms_date{
	width: 89px;
}

.l-cms_tag{
    color: var(--color-primary);
    background: #FFF0C6;
    font-size: 13px;
    padding: 3px 8px;
    border-radius: 5px;
}
.l-cms_ttl{
	font-weight: 500;
	font-size: 36px;
	line-height: 1.5;
	color: var(--color-primary);
	position: relative;
	z-index: 1;
	padding-bottom: 27px;
	margin-bottom: 50px;
}
.l-cms_ttl:before{
	content: "";
	z-index: 1;
	position: absolute;
	

	background: #FFE18D;
	width: 20px;
	height: 3px;
	bottom: 0;
	left: 0;
	border-radius: 10px;
}
.l-cms_ttl:after{
	content: "";
	z-index: 1;
	position: absolute;
	

	background: var(--color-primary);;

	height: 3px;
	bottom: 0;
	left: 28px;
	right: 0;
	border-radius: 10px;
}
.l-cms_editor *{
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.l-cms_editor img{
	max-width: 100%;
	height: auto;
}
.l-cms_editor figure{
	margin: auto;
}

.l-cms_editor{}

.l-cms_foot{
	text-align: center;
	margin-top: 48px;
}
.l-cms_foot a{
	display: inline-block;
	padding-left: 40px;
	position: relative;
	z-index: 1;
	color: #333;
}
.l-cms_foot a:before{
	content: "";
	z-index: 1;
	position: absolute;
	background: url(../img/common/back.svg) 0 0 no-repeat;
	background-size: contain;
	width: 30px;
	height: 20px;
	top:0;
	bottom: 0;
	left: 0;
	margin: auto;
	color: #333;
}



@media (max-width: 1024px) {
}

@media (max-width: 640px) {
	.l-cms{}
	.l-cms .container{}
	.l-cms__inner{
    padding: 41px 5%;
    border-radius: 50px;
}
	.l-cms_meta{}
	.l-cms_date{}
	.l-cms_tag{}
	.l-cms_ttl{
    font-size: 27px;
    padding-bottom: 22px;
    margin-bottom: 40px;
}
	.l-cms_ttl:before{}
	.l-cms_ttl:after{}
	.l-cms_editor *{}
	.l-cms_editor img{}
	.l-cms_editor figure{}
	.l-cms_editor{}
	.l-cms_foot{}
	.l-cms_foot a{
    font-size: 14px;
}
	.l-cms_foot a:before{}


}

/* --------------  */

@media (max-width: 1024px) {
}

@media (max-width: 640px) {
}

/* --------------  */


.l-head1_sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .l-head1_pc {
    display: none;
  }

  .l-head1_navi,
  .l-head2_navi {
    display: none;
  }

  .l-head1_sp {
    display: block;
    position: relative;
  }

  .l-head1_hamburger {
    display: block;
    width: 100%;
    height: 20px;
    background: none;
    border: none;
    position: relative;
	  cursor: pointer;
  }

  .l-head1_hamburger span {
    position: absolute;
    width: 20px;
    height: 2px;
    background: #333;
    position: absolute;
    right: 0;
    margin-right: 10px;
  }

  .l-head1_hamburger span:nth-child(1) {
    top: 0;
  }

  .l-head1_hamburger span:nth-child(2) {
    top: 9px;
  }

  .l-head1_hamburger span:nth-child(3) {
    bottom: 0;
  }

  .l-menu_sp {

    height: auto;
    background: var(--color-primary);
    border-bottom-left-radius: 40px;
  }

  .l-menu_sp-inner {
    width: min(710px, 100% - 40px);
    margin-inline: auto;
    padding-bottom: 18.67vw;
  }

  .l-head1_navi_sp {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: auto;
    height: 100dvh;
    background: rgba(255, 255, 255, 0.5);
    flex-direction: column;
    opacity: 0;
    pointer-events: none;
    overflow-y: auto;
    transition: opacity 0.3s ease;
    z-index: 100;
  }

  .l-head1_navi_sp.is-open {
    opacity: 1;
    pointer-events: auto;
  }

  .l-head1_close {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    background: var(--color-white);
    width: 16vw;
    aspect-ratio: 1 / 1;
    border: none;
    border-bottom-left-radius: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
  }

  .l-head1_close svg {
    display: block;
    width: 4.333vw;
    height: 4.333vw;
    transform: translateX(1px);
  }

  .l-head1_ul {
    list-style: none;
    padding: 0;
    margin: 8vw 0 0;
    display: flex;
    flex-direction: column;
  }

  .l-head1_li {
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.7;
    padding: 5.33vw 0 5.33vw 10px;
    border-bottom: 1px solid rgba(255, 255, 255, .2);
  }

  .l-head1_li a {
    position: relative;
    color: var(--color-white);
    display: block;
  }

  .l-head1_li a::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 8vw;
    height: 8vw;
    background-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><circle cx="15" cy="15" r="14.5" fill="%233A5596" stroke="%23ffffff"/><path d="M21 15 15.7 10l-.8.8 3.8 3.6H9v1.2h9.7l-3.8 3.6.8.8 5.3-5z" fill="%23ffffff"/></svg>');
  }

  .l-head1_logo_inside {
    display: block;
    max-width: 430px;
    width: 57.33vw;
    padding: 4vw;
  }

  .l-head1_tel {
    text-align: center;
    background: #FFF0C6;
    border-radius: 15px;
    margin: 8vw auto 0;
    width: 80%;
    height: 18.67vw;
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: min(8vw, 60px);
    font-weight: 500;
    line-height: 18.67vw;
  }

  .l-head1_tel a {
    display: block;
    color: var(--color-primary);
    position: relative;
  }

  .l-head1_tel a::before {
    content: "";
    display: inline-block;
    width: 4.8vw;
    height: 6.94vw;
    flex-shrink: 0;
    background-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 26"><path d="M8.8 14.4c.6.9 1.8 1.3 3 1l1.4-.4c1-.3 2 .2 2.3 1.1l1.8 5.4c.3.9-.2 2.1-1.1 2.6-4.3 2.3-7.1 1-7.1 1-5.4-2.4-10.4-16.8-7.7-21.2C1.4 3.8 2.8.8 8.5.6c1 0 2 .2 2.3 1.1l1.9 5.8c.3.9-.3 1.9-1.3 2.2l-1.4.4c-1.1.3-1.9 1.2-1.9 2.3 0 .7.2 1.4.6 2l.1.1z" fill="%23ffffff" stroke="%233A5596" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-right: 10px;
    vertical-align: -0.1em;
  }
}


