@charset "utf-8";
/*
 * smp.css
 *
 *  version --- 1.0
 *  updated --- 2024/10/24
 */


@media (max-width: 959px) and (min-width: 751px) {
    
}


/*** 非スマホ 751px ~ ***/
@media screen and (min-width: 751px) {
    .is-sp {
        display: none!important;
    }
}

@media only screen and (max-width : 750px){
	.is-pc {
		display: none!important;
	}
}


@media screen and (max-width: 750px) {
	body{
		font-size: 1.2rem;
	}
	/* !wrapper
	---------------------------------------------------------- */
	#wrapper {
	    padding-top: 9.6rem;
	}

	.inner02,
	.inner {
	    padding: 0 3.5rem;
	}

	/* !header
	---------------------------------------------------------- */
	#header{
		border-bottom: 1px solid #1F215C;
	}
	.header-inner {
	    height: 9.6rem;
	    padding-left: 1rem;
	}

	.header-logo a{
	    grid-gap: 1rem;
	}
	.header-logo span{
	    display: flex;
	    flex-direction: column;
	    grid-gap: 0;
	    font-size: .8rem;
	    font-weight: 500;
	}
	.header-logo font{
	    font-size: 1.9rem;
	    line-height: 1.15;
	    font-weight: 700;
	    margin-left: -.2rem;
	    margin-top: .5rem;
	}

	.header-logo img{
	    width: 5.4rem;
	}


	.btn-menu{
	    position: fixed;/*ボタン内側の基点となるためrelativeを指定*/
	    right: 0;
	    top: 0;
	    z-index: 9999;
	    cursor: pointer;
		width: 10rem;
		height: 9.6rem;
		background: #1F215C;
	}
	.btn-menu:before{
		content: 'メニュー';
		position: absolute;
		left: 0;
		bottom: 1.4rem;
		width: 100%;
		font-size: 1.7rem;
		font-weight: bold;
		text-align: center;
		color: #fff;
	}
	.is-active.btn-menu:before{
		content: '閉じる';
	}


		/*ボタン内側*/
	.btn-menu span{
	  display: inline-block;
	  transition: all .5s;/*アニメーションの設定*/
	  position: absolute;
	  left: 2.2rem;
	  height: .3rem;
	  width: 5.6rem;
	  background: #fff;
	}
	.btn-menu span:nth-of-type(1) {
	    top: 2.4rem; 
	}
	.btn-menu span:nth-of-type(2) {
	    top: 3.6rem;
	}
	.btn-menu span:nth-of-type(3) {
		top: 4.8rem;
	}
	.is-active.btn-menu span:nth-of-type(1) {
	  transform: translateY(1.3rem) rotate(30deg);
	}
	.is-active.btn-menu span:nth-of-type(2) {
	  opacity: 0;
	}
	.is-active.btn-menu span:nth-of-type(3) {
	  transform: translateY(-1.2rem) rotate(-30deg);
	}

	/* !global navigation
	---------------------------------------------------------- */
	#g-navi {
		position: fixed;
		top: calc(1px + 9.6rem);
		right: 0;
		width: 100%;
		height: calc(100dvh - 9.6rem - 1px);
		z-index: 110;
		box-sizing: border-box;
		padding: 2.6rem 3.5rem 8rem;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		opacity: 0;
		pointer-events: none;
		transition: opacity .3s,right .3s;

	    background: #fff;
	}
	#g-navi.is-active{
	    opacity: 1;
	    pointer-events: auto;
	}	
	.nav_list{
		display: grid;
		grid-gap: 2rem;
	}
	.nav_list li{
	}
	.nav_list a.nav_contact,
	.nav_list a{
	    display: flex;
	    align-items: center;
	    height: 8rem;
	    font-size: 1.7rem;
	    font-weight: bold;
	    border-bottom: 2px solid #BDBED3;
	    position: relative;
	}
	.nav_list .link_arrow_wrap{
	    right: 0;
	}

	/* !breadcrumb
	---------------------------------------------------------- */
	#breadcrumb {}


	/* !main Visual
	---------------------------------------------------------- */
	#main-visual {
	    height: 54.3rem;
	    background: url(../img/top/bg_mv_sp.jpg)no-repeat center center;
	    background-size: cover;
	    display: block;
	    padding-top: 6.3rem;
	}
	.mv_cont{
	    text-shadow: 0 0 2rem rgba(0,0,0,.53);
	}
	.mv_cont:before{
	    position: absolute;
	    left: -1.5rem;
	    top: 50%;
	    transform: translateY(-50%);
	    width: 36.5rem;
	    height: 60rem;
	    pointer-events: none;
	    background: url(../img/top/logo_mv.svg)no-repeat center center;
	    background-size: 100% auto;
	}
	.mv_title{
	    font-size: 4.6rem;
	    font-weight: 900;
	}
	.mv_text{
	    font-size: 1.7rem;
	    line-height: 1.7;
	    font-weight: bold;
	    margin-top: 0;
	}

	.fixed_wrap{
	    position: fixed;
	    right: 0;
	    bottom: 3rem;
	    z-index: 101;
	    border-radius: 1rem 0 0 1rem;
	    border: .3rem solid #1F215C;
	    border-right: 0;
	    background: #fff;
	    text-align: center;
	    height: 23.1rem;
	}
	.is_open.fixed_wrap{
	    transition: width .1s;
	    width: 3.3rem;
	    padding: 0;
	    z-index: 88;
	}
	.fixed_close{
	    position: absolute;
	    right: .8rem;
	    top: 0;
	    transform: translateY(-50%);
	    width: 2.6rem;
	    height: 2.6rem;
	    background: url(../img/top/icon_close.svg)no-repeat center center;
	    background-size: 100% auto;
	    cursor: pointer;
	}
	.fixed_overlay{
		display: none;
	    position: fixed;
	    left: 0;
	    top: 0;
	    right: 0;
	    bottom: 0;
	    cursor: pointer;
	    z-index: 100;
	    background: #000;
	    opacity: .5;
	}
	.fixed_wrap:not(.is_open)+.fixed_overlay{
		display: block;
	}
	.is_open>div{
	    display: none;
	}
	.fixed_title{
	    font-size: 2rem;
	    font-weight: 900;
	    margin-bottom: 1rem;
	}
	.is_open .fixed_title{
	    display: flex;
	    align-items: center;
	    justify-content: center;
	    letter-spacing: .15em;
	    font-size: 1.4rem;
	    width: 3rem;
	    height: 100%;
	    margin: 0;
	    writing-mode: vertical-rl;
	    cursor: pointer;
	}
	.fixed_wrap .btn_link01{
	    width: 19rem;
	    height: 5rem;
	    font-size: 1.4rem;
	    padding: 0 1rem;
	    border-radius: .5rem;
	    box-shadow: .3rem .3rem 0 currentColor;
	}
	.fixed_tel .btn_link01{
	    background: #F2F3FF;
	    font-weight: 700;
	    padding: 0;
	    justify-content: center;
	}
	.fixed_tel .btn_link01 font{
	    font-size: 2.3rem;
	}
	.fixed_time{
	    font-size: .9rem;
	    color: #8D8D8D;
	    margin: .9rem 0 1.4rem;
	}

	/* !teaser
	---------------------------------------------------------- */
	#teaser {
	    background: url(../img/common/bg_teaser_sp.jpg)no-repeat left bottom #EFF5F8;
	    background-size: auto 32.9rem;
	    padding: 2.4rem 0 4.4rem;
	    text-align: center;
	}
	#teaser .inner{
		padding: 0 1.5rem;
	}
	#teaser .hd_m:before{
		content: none;
	}
	#teaser .hd_m_eng{
	    font-size: 8rem;
	}
	#teaser .hd_m_jap{
	    margin-top: -.5rem;
	}

	/* !breadcrumb
	---------------------------------------------------------- */
	#breadcrumb {
		display: none;
		padding: 1.2rem 1.5rem 0;
	}



	/* !page Top
	---------------------------------------------------------- */
	.page-top {}


	/* !footer
	---------------------------------------------------------- */
	#footer {
	    background: #1F215C;
	    color: #fff;
	    padding: 6rem 0 4rem;
	}
	#footer a{
	    color: #fff;
	}

	.footer-inner {}

	.footer_box01{
	    display: block;
	    justify-content: space-between;
	}
	.footer_link{
	    display: grid;
	    grid-template-columns: repeat(1,1fr);
	    grid-gap: .4rem;
		margin-bottom: 9rem;
	}
	.footer_link a{
	    display: flex;
	    align-items: center;
	    height: 8rem;
	    font-size: 1.7rem;
	    font-weight: bold;
	    border-bottom: 2px solid #BDBED3;
	    position: relative;
	}
	.footer_link .link_arrow_wrap{
	    right: 0;
	    background: #fff;
	}
	.footer_link .link_arrow{
	    background: url(../img/common/arrow_right_blue.svg)no-repeat center center;
	    background-size: 1.8rem auto;
	}

	.footer_company_title{
	    font-size: 2rem;
	    margin-bottom: 1.5rem;
	}
	.footer_company_link{
	    display: grid;
	    grid-template-columns: repeat(1,1fr);
	    grid-gap: 3rem;
	}
	.footer_company_link .icon img{
	    height: 7.3rem;
	}
	.footer_company_link .text{
	    font-size: 1.5rem;
	    letter-spacing: .08em;
	    margin-top: .7rem;
	}
	.footer_company_link .text:after{
	    content: '';
	    width: 1em;
	    height: 1em;
	    background: url(../img/common/icon_target.svg)no-repeat bottom center;
	    background-size: 1rem auto;
	    margin-left: .2em;
	    display: inline-block;
	}

	.footer_addr{
	    margin-top: 10rem;
	    display: block;
	    align-items: center;
	    grid-gap: 3.4rem;
	    text-align: left;
	}
	.footer_addr dt{
	    width: auto;
	    margin-bottom: 3rem;
	}
	.footer_addr dt img{
	    width: 100%;
	}
	.footer_addr_name {
	    font-size: 2rem;
	    font-weight: bold;
	    letter-spacing: .12em;
	} 
	.footer_addr_text{
	    font-size: 1.7rem;
	    line-height: 1.65;
	    margin-top: .7rem;
	    letter-spacing: .12em;
	}

	.footer_box02{
	    padding-top: 2rem;
	    margin-top: 2rem;
	    border-top: 0 solid #D3D3D3;
	    display: block;
	    justify-content: space-between;
	}
	.footer_other{
	    display: grid;
	    grid-template-columns: repeat(1,1fr);
	    grid-gap: 2rem;
	    margin-bottom: 6rem;
	    text-align: left;
	}
	.footer_other a{
	    font-size: 1.4rem;
	    letter-spacing: .08em;
	}


	#copyright {
		margin: 0 -1rem;
		text-align: center;
	    font-size: 1.2rem;
	    line-height: 2.1;
	    font-weight: 400;
	    letter-spacing: .12em;
	}


	/*common*/
	.hd_m{
	    margin-bottom: 3rem;
	    line-height: 1.2;
	    position: relative;
	    align-items: center;
	}
	.hd_m:before{
		content: none;
	}

	.hd_m_eng{
		letter-spacing: .03em;
	    font-size: 10.4rem;
	    -webkit-text-stroke :1px #A9AAB9;
	}
	.hd_m_jap{
		letter-spacing: .03em;
	    font-size: 2.7rem;
	    font-weight: 900;
	    margin-top: -1.6em;
	}

	.btn_link01{
	    display: inline-flex;
	    align-items: center;
	    width: 31.7rem;
	    max-width: 100%;
	    height: 7.5rem;
	    color: #1F215C;
	    border: .2rem solid currentColor;
	    padding: 0 2.4rem;
	    font-size: 1.7rem;
	    font-weight: 900;
	    box-shadow: .5rem .5rem 0 currentColor;
	    background: #fff;
	    position: relative;
	    top: 0;
	    left: 0;
	}

	/*top*/
	.top_service{
	    background: url(../img/top/bg_service_sp.jpg)no-repeat top center;
	    background-size: 100% auto;
	    padding: 3.6rem 0 11.5rem;
	}
	.top_service .mv_text{
		margin-bottom: 7rem;
	}
	.top_service_list{
	    display: grid;
	    grid-template-columns: repeat(1,1fr);
	    grid-gap: 5.8rem;
	}
	.top_service_list li{
	    position: relative;
	}
	.top_service_list .img_box{
	    border-radius: 1rem;
	    border: .3rem solid #1F215C;
	    padding-top: calc(102% + 4rem);
	    margin: 0 -2rem;
	    width: calc(100% + 4rem);
	}
	.top_service_list .cont{
	    position: relative;
	    left: 0;
	    top: 0;
	    right: 0;
	    bottom: 0;
	    z-index: 9;

	    margin: -8.4rem 0 0;
	    width: auto;
	    min-height: auto;
	    border-radius: 1rem;
	    background: #EFF5F8;
	    padding: 3.5rem 3.3rem;
	}
	.top_service_list .title{
	    font-size: 2.2rem;
	    font-weight: 900;
	    margin-bottom: 1.8rem;
	}
	.top_service_list .text{
	    color: #000000;
	    font-size: 1.7rem;
	    line-height: 2;
	}
	.top_service_btn{
	    text-align: center;
	    margin-top: 4.8rem;
	}

	.top_recruit{
	    background: rgba(239,245,248,.65);
	    position: relative;
	    padding: 26.5rem 0 14rem;
	    overflow: hidden;
	}
	.top_recruit_bg{
	    position: absolute;
	    left: 0;
	    top: 0;
	    width: 100%;
	    padding-top: 37.2rem;
	}
	.top_recruit_bg:before{
	    content: '';
	    position: absolute;
	    left: 0;
	    top: auto;
	    bottom: 0;
	    width: 100%;
	    height: 26rem;
	    z-index: 4;
	    background: url(../img/top/bg_linear.png)no-repeat center center;
	    background-size: 100% 100%;
	}
	.top_recruit_bg img{
	    object-position: top center;
	}
	.top_recruit_p01{
		text-align: center;
	    font-size: 2.2rem;
	    line-height: 1.86;
	    font-weight: 900;
	    margin: 0 -2rem 1.5rem;
	    font-weight: 900;
	    color: #000;
	}
	.top_recruit_p02{
	    font-size: 1.7rem;
	    line-height: 2;
	    margin-bottom: 6rem;
	    color: #000;
	}
	.top_recruit_p03{
	    font-size: 2.2rem;
	    margin: 0 -1rem 2.5rem;
	    font-weight: 900;
	}
	.top_recruit_list01{
		margin: 0 -2rem;
	    display: grid;
	    grid-template-columns: repeat(1,1fr);
	    grid-gap: 1.4rem;
	}
	.top_recruit_list01 li{
	    border-radius: 1rem;
	    background: #fff;
	    padding: 2rem 2.4rem;
	    display: flex;
	    flex-direction: row-reverse;
	    justify-content: space-between;
	    align-items: center;
	}
	.top_recruit_list01 .icon{
	    background: url(../img/top/bg_icon.png)no-repeat center center;
	    background-size: 11rem auto;
	}
	.top_recruit_list01 .icon img{
	    width: 9.8rem;
	}
	.top_recruit_list01 .cont{
		text-align: left;
	}
	.top_recruit_list01 .title{
	    font-size: 2rem;
	    font-weight: 900;
	    margin: .5rem 0 1rem;
	}
	.top_recruit_list01 .text{
	    color: #000;
	    font-size: 1.7rem;
	}
	.top_recruit_link{
	    display: grid;
	    grid-template-columns: repeat(1,1fr);
	    grid-gap: 2rem;
	    margin-top: 4rem;
	}
	.top_recruit_link a{
	    display: flex;
	    align-items: center;
	    height: 8rem;
	    font-size: 1.7rem;
	    font-weight: bold;
	}
	.top_recruit_btn{
		text-align: center;
	    margin-top: 6.7rem;
	}

	.top_total{
	    background: url(../img/top/bg_total.jpg)no-repeat right center;
	    background-size: cover;
	    height: 45.9rem;
	    height: 53.9vw;
	    position: relative;
	}
	.top_total_text{
	    position: absolute;
	    width: 100%;
	    left: 0;
	    bottom: -1rem;
	    text-align: center;
	}
	.top_total_text img{
	    width: calc(100% - 2rem);
	}

	.top_news{
	    padding: 2.6rem 0 10rem;
	}
	.small .hd_m_eng{
		font-size: 10.4rem;
	}
	.small .hd_m_jap{
		margin-top: -1.4em;
	}

	.top_news_box{
	    display: block;
	    justify-content: space-between;
	    align-items: flex-start;
	    position: relative;
	}
	.top_news_cont{
	    width: auto;
	    padding-top: 1rem;
	}
	.news_list{
	    border-top: 1px solid #1F215C;
	}
	.news_list a{
	    display: block;
	    padding: 3rem 0 3.5rem;
	    border-bottom: 1px solid #1F215C;
	}
	.news_list .link_arrow_wrap{
		display: none;
	}
	.news_list .time{
	    font-size: 1.7rem;
	    letter-spacing: .08em;
	    margin-bottom: .9rem;
	    display: block;
	}
	.news_list .text{
		display: inline;
	    font-size: 1.7rem;
	    letter-spacing: .08em;
	    font-weight: bold;

		white-space: break-spaces;
		overflow: hidden;
		text-overflow: ellipsis;

		background-image: linear-gradient(to right, currentColor 0%, currentColor 50%, currentColor 50%);
		background-size: 7px 1px;
		background-position: bottom center;
		background-repeat: repeat-x;
	}
	.news_list .text:before{
		content: none;
	}
	.top_news_btn{
	    position: static;
	    left: 0;
	    top: 23.3rem;
	    width: auto;
	    text-align: center;
	    margin-top: 4.8rem;
	}

	.top_company{
	    padding: 5.7rem 0 8.7rem;
	    background: url(../img/top/bg_company_sp.png)no-repeat top center;
	    background-size: cover;
	}
	.top_company .small .hd_m_eng{
		font-size: 8.4rem;
	}
	.top_company .top_service_list{
	    grid-template-columns: repeat(1,1fr);
	    grid-gap: 6rem;
	}
	.top_company .top_service_list .img_box{
	    padding-top: 52.5%;
	}
	.top_company .top_service_list .cont{
	    top: 0;
	    width: auto;
	    min-height: auto;
	    background: #fff;
	    margin-top: -3.7rem;
	    padding: 3.5rem 3.3rem;
	}
	.top_company .top_service_list .title{
	    font-size: 2.2rem;
	    margin-bottom: .8rem;
	}
	.top_company_btn{
	    margin-top: 6rem;
	    text-align: center;
	}

	.top_access{
	    padding: 7rem 0 8rem;
	}
	.top_access_box{
	    display: flex;
	    justify-content: space-between;
	    flex-direction: column-reverse;
	    align-items: normal;
	}
	.top_access_cont{
	    width: auto;
	}
	.top_access_map{
	    width: auto;
	    margin: 0 -2rem 0;
	}
	.top_access_p01{
	    font-size: 2.2rem;
	    font-weight: 900;
	    margin: 3rem 0 1rem;
	    color: #000;
	}
	.top_access_p02{
	    color: #000;
	    font-size: 2rem;
	    line-height: 1.65;
	    margin-bottom: 2.3rem;
	}
	.top_access_list{
	    display: grid;
	    grid-template-columns: repeat(1,1fr);
	    grid-gap: 1.5rem;
	}
	.top_access_list li{
	    border-radius: 1rem;
	    background: #EFF5F8;
	    padding: 2.8rem;
	}
	.top_access_list .title{
	    font-size: 2rem;
	    font-weight: 900;
	    margin-bottom: .5rem;
	}
	.common_text p,
	.common_text{
	    font-size: 1.7rem;
	    line-height: 2;
	    color: #000;
	    letter-spacing: .03em;
	}
	.top_access_btn{
	    margin-top: 4.2rem;
	    text-align: center;
	}
	.iframe_box {
	    position: relative;
	    width: 100%;
	    padding-top: 56%;
	    overflow: hidden;
	}
	.iframe_box iframe {
	    position: absolute;
	    left: 0;
	    top: 0;
	    width: 100%;
	    height: 100%;
	    z-index: 2;
	}
	.top_access_map .iframe_box{
	    padding-top: 96%;
	    border-radius: 1rem;
	}

	.top_contact{
	    padding: 5.3rem 0 8.7rem;
	    background: url(../img/top/bg_contact_sp.jpg)no-repeat bottom center;
	    background-size: cover;
	    text-align: center;
	}
	.top_contact .inner{
		padding: 0 2.5rem;
	}
	.top_contact .hd_m{
	    opacity: 1;
	    margin-bottom: -4rem;
	}
	.top_contact .hd_m:before{
	    content: none;
	}
	.top_contact .hd_m_eng{
		font-size: 10.4rem;
	}
	.top_contact_p01{
	    font-size: 2.5rem;
	    font-weight: 900;
	    line-height: 1.6;
	    margin-bottom: 1.5rem;
	    position: relative;
	    z-index: 3;
	}
	.top_contact_p02{
	    margin-bottom: 2rem;
	}
	.top_contact_list{
	    display: grid;
	    grid-template-columns: repeat(1,1fr);
	    grid-gap: 2rem;
	}
	.top_contact_list li{
	    border-radius: 1rem;
	    background: #EFF5F8;
	    padding: 3rem 2rem;
	}
	.top_contact_list .title{
	    font-size: 2rem;
	    font-weight: 900;
	    margin-bottom: .7rem;
	}
	.top_contact_list .icon{
	    margin-bottom: 1.1rem;
	}
	.top_contact_list .icon img{
	    width: 7.5rem;
	}
	.top_contact_list .tel{
	    font-size: 1.9rem;
	    line-height: 1.2;
	    margin-bottom: .9rem;
	}
	.top_contact_list .tel span{
	    font-size: 3.9rem;
	    margin-left: 1rem;
	}
	.top_contact_list .time{
	    font-size: 1.7rem;
	    color: #000;
	}
	.top_contact_list .btn_link01{
	    width: 26rem;
	}


	/*company*/
	.hd_small{
	    display: flex;
	    flex-direction: column;
	    align-items: center;
	    text-align: center;
	    margin: 0 -2rem 2.3rem;
	    line-height: 1.2;
	}
	.hd_small_eng{
	    font-size: 2.3rem;
	    color: #fff;
	    -webkit-text-stroke :1px #A9AAB9;
	}
	.hd_small_jap{
	    font-size: 3rem;
	    line-height: 1.5;
	    font-weight: 900;
	}

	.anchor_wrap {
	  position: relative;
	}
	.anchor_wrap .anchor {
	  position: absolute;
	  z-index: -1;
	  top: -9.6rem;
	}

	.company_sec01{
	    padding: 4rem 0;
	}
	.company_table{
	    width: 100%;
	}
	.company_table th,
	.company_table td{
		display: block;
	    font-size: 1.6rem;
	    font-weight: 500;
	    line-height: 2;
	    padding: 1rem 2rem;
	    border-bottom: 0 solid #A8AFB7;
	    text-align: left;
	}
	.company_table th{
	    font-size: 1.8rem;
	    font-weight: 900;
	    background: #EFF5F8;
	    width: auto;
	    padding: 1rem 2rem;
	    vertical-align: top;
	}
	.company_table td{
	    color: #000000;
	}

	.company_sec02{
	    padding: 4rem 0;
	}
	.company_box{
	    border: 2px solid #1F215C;
	    padding: 2.5rem 2rem;
	    text-align: center;
	    border-radius: 1rem;
	}
	.company_box .hd_small{
	    margin-bottom: 2rem;
	}
	.company_sec02_p01{
	    font-size: 2rem;
	    font-weight: 900;
	    margin-bottom: .7rem;
	    color: #000;
	}
	.company_sec02_p03{
	    margin-top: 2.1rem;
	    background: #EFF5F8;
	    border-radius: 1rem;
	    display: inline-block;
	    padding: 1.5rem 1.5rem;
	    color: #1F215C;
	}

	.company_sec03{
	    padding: 4rem 0;
	}
	.company_sec03 .top_access_cont,
	.company_sec03 .top_access_map {
	    width: auto;
	}
	.company_sec03 .top_access_p02{
	    margin-bottom: 2rem;
	}
	.company_sec03 .top_access_map .iframe_box{
	    padding-top: 56.97%;
	    padding-top: 51.5rem;
	    margin-bottom: 2rem;
	}
	.company_sec03 .top_access_list li{
	    padding: 2rem 2rem;
	}
	.dot_text{
	    font-size: 1.7rem;
	    line-height: 1.5;
	    font-weight: bold;
	    padding-left: 2rem;
	    background: url(../img/common/dot_blue.svg)no-repeat top .9rem left;
	    background-size: 1rem auto;
	    color: #000;
	    margin-top: 1rem;
	}
	.dot_text+.dot_text{
	    margin-top: 1rem;
	}


	/*service*/
	.service_wrap .hd_small_eng{
	    font-size: 2.3rem;
	}
	.service_sec01{
	    padding: 24.5rem 0 12.4rem;
	}
	.service_sec01_bg{
	    position: absolute;
	    left: 0;
	    top: 0;
	    width: 100%;
	    padding-top: 30.6rem;
	}
	.service_sec02 .service_sec01_bg{
		padding-top: 46.5rem;
	}
	.service_sec01_bg:before{
	    content: '';
	    position: absolute;
	    left: 0;
	    bottom: -6%;
	    width: 100%;
	    height: 100%;
	    z-index: 4;
	    background: url(../img/service/bg_linear.png)no-repeat center center;
	    background-size: 100% 100%;
	}
	.service_sec01_bg img{
	    object-position: top center;
	}
	.service_sec01_p01{
	    font-size: 2rem;
	    line-height: 1.7;
	    margin: 2rem 0 1.5rem;
	}
	.service_list{
		grid-template-columns: repeat(1,1fr);
	    margin: 6rem auto 0;
	    max-width: 27rem;
	    grid-gap: 7.7rem;
	}

	.service_bottom{
	    padding-bottom: 9.5rem;
	}
	.service_bottom .top_service_list .img_box{
	    padding-top: calc(102% + 4rem);
	}
	.service_bottom .top_service_list .title{
	    font-size: 2.2rem;
	    margin-bottom: 1.7rem;
	}
	.top_service_list .btn_link01{
	    display: inline-flex;
	    margin-top: 2.5rem;
	    width: 100%;
	}

	/*job*/
	#job .is_open .fixed_title{
	    font-size: 1.2rem;
	}

	.teaser_hd{
	    padding: 4rem 0 2rem;
	    font-size: 3.3rem;
	}

	.job_sec01{
	    padding: 4.4rem 0 0;
	}
	.job_sec01 .inner02{
		padding: 0 1.5rem;
	}
	.job_dl{
	    display: grid;
	    grid-gap: 2rem;
	    margin-bottom: 2rem;
	}
	.job_dl dt{
	    color: #000;
	    width: auto;
	}
	.job_dl dd{
	    width: auto;
	}
	.job_dl dd img{
	    border-radius: 1rem 1rem 0 0;
	}
	.job_dl .title{
	    font-size: 2.3rem;
	    font-weight: 900;
	    line-height: 1.6;
	    margin-bottom: 2rem;
	}

	.job_contact{
	    margin: 4rem auto 0;
	    max-width: 72rem;
	    border: 2px solid #1F215C;
	    border-radius: 1rem;
	    padding: 3rem 2rem;
	    text-align: center;
	    background: #EFF5F8;
	}
	.job_contact_title{
	    font-size: 2rem;
	    font-weight: 900;
	    margin-bottom: 2rem;
	}
	.job_contact .link_arrow_wrap{
	    right: 1.5rem;
	    width: 5.3rem;
	    height: 4rem;
	}
	.job_contact .btn_link01{
	    width: 32.2rem;
	    height: 7.5rem;
	    font-size: 1.7rem;
	}

	.job_sec02{
	    padding: 10rem 0;
	}
	.job_sec02 .inner02{
		padding: 0 1.3rem;
	}
	.job_sec02_hd{
	    text-align: center;
	    font-size: 3rem;
	    font-weight: 900;
	    color: #1F215C;
	    margin-bottom: 3rem;
	}
	.job_list{
	    display: grid;
	    grid-template-columns: repeat(1,1fr);
	    grid-gap: 4rem;
	    margin: 0;
	}
	.job_list_item{
	    border-radius: 1rem;
	    border: 2px solid #1F215C;
	    overflow: hidden;
	    color: #000;
	}
	.job_list_item .img_box{
	    padding-top: 23.4rem;
	}
	.job_list_cont{
	    padding: 2rem 3.5rem 5rem;
	}

	.job_back_btn{
	    margin-top: 4rem;
	}


	/*recruit*/
	#recruit #teaser{
	    background: url(../img/recruit/bg_linear_sp.png)no-repeat top 8.2rem center;
	    background-size: 100% auto;
	    text-align: center;
	    padding: 26.4rem 0 0;
	    min-height: auto;
	}
	.recruit_teaser_p01{
	    font-size: 2.4rem;
	    font-weight: 900;
	    margin: 2.9rem 0 1.7rem;
	}
	.recruit_teaser_p02{
	    font-size: 1.7rem;
	    line-height: 1.76;
	    font-weight: bold;
	}

	.recruit_wrap{
	    position: relative;
	}
	.recruit_wrap:before{
	    content: '';
	    position: fixed;
	    z-index: -1;
	    left: 0;
	    top: 9.6rem;
	    width: 100%;
	    height: 32rem;
	    background: url(../img/recruit/bg_fixed_sp.jpg)no-repeat top center;
	    background-size: cover;
	}
	.recruit_wrap .hd_small_eng{
	    font-size: 2.3rem;
	}

	.recruit_sec01{
	    background: #fff;
	    padding: 10rem 0;
	}
	.recruit_sec01 .inner{
		padding: 0 1.2rem;
	}

	.lcl-sec-sbs{
	    display: grid;
	    grid-gap: 7rem;
	    padding-top: 0;
	}
	.lcl-sec-sbs-graph {
	    width: auto;
	}
	.lcl-sec-sbs-graph__in{
	    padding-top: 0;
	}
	.lcl-sec-sbs-main {
	    width: auto;
	}
	.lcl-sec-sbs-main-association{
	    position: relative;
	    top: 0;
	}

	.recruit_sec01_item+.recruit_sec01_item{
	    margin-top: 2.8rem;
	}
	.recruit_sec01_item{
	    background: #EFF5F8;
	    border-radius: 1rem;
	    padding: 4.2rem 3.2rem 3.5rem;
	}
	.recruit_sec01_item .title{
	    font-size: 2rem;
	    font-weight: 900;
	    line-height: 1.75;
	    margin-bottom: 1.5rem;
	}

	.recruit_sec02{
	    position: relative;
	    padding: 9.4rem 0 8.6rem;
	    color: #fff;
	    background: rgba(0,0,0,.1);
	    backdrop-filter: blur(8px);
	}
	.recruit_sec02 .inner02{
		padding: 0 1.3rem;
	}
	.recruit_sec02_p01{
	    text-align: center;
	    font-size: 2rem;
	    line-height: 1.75;
	    font-weight: 900;
	    margin-bottom: 3.3rem;
	}
	.recruit_list01{
	    display: flex;
	    flex-wrap: wrap;
	    grid-gap: 2.6rem;
	}
	.recruit_list01_item{
	    width: 100%;
	    background: #FFFFFF;
	    border-radius: 1rem;
	    padding: 4rem 3.2rem;
	}
	.recruit_list01_item.big{
	    width: 100%;
	    text-align: left;
	}
	.recruit_list01_title{
	    font-size: 2rem;
	    line-height: 1.75;
	    font-weight: 900;
	    margin-bottom: 2rem;
	    color: #1F215C;
	}
	.recruit_list01_ul{
	    display: flex;
	    flex-wrap: wrap;
	    grid-gap: .9rem;
	    margin-bottom: 2.6rem;
	}
	.recruit_list01_ul li{
	    display: flex;
	    justify-content: center;
	    align-items: center;
	    width: 100%;
	    height: 5.5rem;
	    border-radius: 1rem;
	    background: #EFF5F8;
	    color: #1F215C;
	    font-size: 1.7rem;
	    font-weight: 900;
	}
	.recruit_list01_item dl{
	    display: grid;
	    justify-content: center;
	    grid-gap: 2rem;
	}
	.recruit_list01_item dt{
	    width: auto;
	}
	.recruit_list01_item dd{
	    width: auto;
	    text-align: left;
	}
	.recruit_list01_item dt img{
	    border-radius: 1rem;
	}

	.recruit_sec02_p02{
	    text-align: center;
	    font-size: 2rem;
	    line-height: 1.75;
	    font-weight: 900;
	    margin: 6.5rem 0 2.5rem;
	}
	.recruit_list02{
	    display: grid;
	    grid-template-columns: repeat(1,1fr);
	    grid-gap: 1.4rem;
	}
	.recruit_list02 li{
	    background: #FFFFFF;
	    border-radius: 1rem;
	    padding: 2rem 4.4rem;
	    text-align: left;
	}
	.recruit_list02 dl{
		display: flex;
		align-items: center;
		grid-gap: 3rem;
	}
	.recruit_list02 dt{
	    background: url(../img/top/bg_icon.png)no-repeat center center;
	    background-size: 11rem auto;
	}
	.recruit_list02 dt img{
	    width: 9.5rem;
	}
	.recruit_list02 dd{
	    margin-top: 0;
	    font-size: 1.7rem;
	    line-height: 1.94;
	    font-weight: 900;
	    color: #1F215C;
	}

	.recruit_sec03{
	    padding-top: 11rem;
	    background: #fff;
	}
	.daily_intro{
	    position: static;
	    margin: 2.8rem auto 0;
	    padding-bottom: 5rem;
	    width: 22.8rem;
	    text-align: center;
	    background: url(../img/recruit/bg_popup.png)no-repeat bottom center;
	    background-size: 100% auto;
	}
	.daily_intro_photo img{
	    width: 16.4rem;
	    border-radius: .8rem;
	}
	.daily_intro_name{
	    font-size: 2rem;
	    font-weight: 900;
	    margin: .7rem 0 .4rem;
	}
	.daily_intro_position{
	    font-size: 1.7rem;
	    color: #000;
	}
	.recruit_sec03_list{
	    margin-top: 0;
	    position: relative;
	    display: grid;
	    grid-gap: 0;
	}
	.recruit_sec03_list:before{
	    content: '';
	    position: absolute;
	    left: 2.3rem;
	    top: 1%;
	    z-index: -1;
	    width: 2px;
	    height: 98%;
	    transform: translateX(0%);
	    background: #1F215C;
	}
	.recruit_sec03_list dl{
	    display: block;
	}
	.recruit_sec03_list dt{
	    width: 100%;
	    height: 4.8rem;
	    border-radius: 1rem;
	    border: 2px solid currentColor;
	    display: flex;
	    justify-content: flex-start;
	    align-items: center;
	    padding: 0 1.8rem;
	    font-size: 1.7rem;
	    font-weight: 900;
	    background: #fff;
	}
	.recruit_sec03_list dd{
	    width: auto;
	    padding: 3.3rem 0 5rem 5rem;
	}
	.recruit_sec03_list_title{
	    font-size: 2rem;
	    font-weight: 900;
	    margin-bottom: 1.5rem;
	} 

	.recruit_sec03_box{
	    margin-top: 4rem;
	    background: #EFF5F8;
	    border-radius: 1rem;
	    padding: 4.5rem 3rem 5rem;
	    text-align: center;
	}
	.recruit_sec03_box_title{
	    font-size: 1.7rem;
	    font-weight: 900;
	    margin-bottom: 1.5rem;
	}

	.recruit_sec04{
	    background: #fff;
	    padding-top: 11.8rem;
	}
	.recruit_sec04 .inner02{
		padding: 0 1.3rem;
	}
	.faq_list{
	    display: grid;
	    grid-gap: 1.4rem;
	}
	.faq_list dl{
	    border-radius: 1rem;
	    background: #EFF5F8;
	    border: 2px solid #EFF5F8;
	}
	.faq_list dl.is-active{
	    border-color: #1F215C;
	}
	.faq_list dl dt{
	    display: flex;
	    align-items: center;
	    min-height: 11.2rem;
	    padding: 2.2rem 10.5rem 2.2rem 5rem;
	    background:url(../img/recruit/faq_open.svg)no-repeat right 2.4rem center;
	    background-size: 5.3rem auto;
	    position: relative;
	    z-index: 2;
	    cursor: pointer;
	    font-size: 1.7rem;
	    line-height: 1.75;
	    color: #000;
	    font-weight: bold;
	}
	.faq_list dl dt.is-active{
	    background:url(../img/recruit/faq_close.svg)no-repeat right 2.4rem center;
	    background-size: 5.3rem auto;
	}
	.faq_list dl dt:before{
	    content: 'Q';
	    position: absolute;
	    z-index: 2;
	    left: 2.2rem;
	    top: 50%;
	    transform: translateY(-50%);
	    color: #1F215C;
	    font-size: 2rem;
	    font-weight: bold;
	}
	.faq_list dl dd{
	    display: none;
	    padding: 0 2.2rem 4.2rem 2.2rem;
	}
	.faq_list dl dd .common_text{
	    position: relative;
	    background: #fff;
	    padding: 4.5rem 3rem;
	    border-radius: 1rem;
	}
	.faq_contact{
	    margin: 7rem auto 0;
	    max-width: 61.8rem;
	    border: 2px solid #1F215C;
	    border-radius: 1rem;
	    padding: 5.6rem 2rem;
	    text-align: center;
	}
	.faq_contact_title{
	    font-size: 2rem;
	    font-weight: 900;
	    margin-bottom: 1.3rem;
	    color: #000;
	}
	.faq_contact_btn{
	    margin-top: 2.5rem;
	}


	.recruit_sec05{
	    background: #fff;
	    padding: 18rem 0 10rem;
	}
	/* !wp-pagenavi
	---------------------------------------------------------- */
	.wp-pagenavi {
	    display: flex;
	    justify-content: center;
	    align-items: center;
	    grid-gap: 2rem;
	    width: 100%;
	    margin: 4rem auto 0;
	    position: relative;
	    padding: 0;
	    text-align: center;
	}

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

	.wp-pagenavi a, 
	.wp-pagenavi span {
	    border: 0;
	    padding: 0;
	    margin: 0;
	}

	.wp-pagenavi .page {

	}

	.wp-pagenavi a, 
	.wp-pagenavi .current {
	    width: 4.5rem;
	    height: 4.5rem;
	    font-size: 2.5rem;
	    line-height: 1.5;
	    margin: 0;
	    padding: 0;
	    display: flex;
	    justify-content: center;
	    align-items: center;
	    transition: all .5s;
	    color: #1F215C;
	    border: 2px solid #1F215C;
	    border-radius: 50%;
	}
	.wp-pagenavi .current{
	    text-decoration: none;
	    opacity: 1;
	    color: #fff;
	    background: #1F215C;
	}

	.wp-pagenavi .nextpostslink,
	.wp-pagenavi .previouspostslink{
		position: absolute;
		left: 0;
	    margin: 0;
	    font-size: 0;
	    background: url(../img/common/page_prev.svg)no-repeat center center #fff;
	    background-size: 1.9rem auto;
	}
	.wp-pagenavi .nextpostslink {
		left: auto;
		right: 0;
	    background: url(../img/common/page_next.svg)no-repeat center center #fff;
	    background-size: 1.9rem auto;
	}


	/*news*/
	.common_teaser#teaser{
	    padding-bottom: 1.7rem;
	}
	.news_wrap{
	    padding: 6rem 0 8rem;
	}
	.news_select{
	    margin-bottom: 4rem;
	    width: 100%;
	    height: 5rem;
	    border: 1px solid #B7B7B7;
	    border-radius: .5rem;
	    background: url(../img/common/arrow_select.svg)no-repeat right 1.3rem center #fff;
	    background-size: 1.4rem auto;
	    padding: 0 1.6rem;
	    font-size: 1.4rem;
	    font-weight: 500;
	    letter-spacing: .1em;
	    color: #A8AFB7;
	}
	.news_list .categ{
	    display: inline-block;
	    margin-left: 1.5em;
	}


	/*news_detail*/
	.news_detail_wrap{
	    padding: 5rem 0 8rem;
	}
	.news_detail_wrap .inner02{
		padding: 0 1.5rem;
	}
	.news_detail_date{
	    font-size: 1.6rem;
	    letter-spacing: .08em;
	    margin-bottom: 1rem;
	}
	.news_detail_hd{
	    font-size: 2rem;
	    font-weight: bold;
	    letter-spacing: .08em;
	    margin-bottom: 1.4rem;
	}
	.news_detail_cont p,
	.news_detail_cont{
	    font-size: 1.6rem;
	    line-height: 2.05;
	    color: #000000;
	}
	.news_detail_cont p+p{
	    margin-top: 2.5rem;
	}
	.news_detail_cont h2{
	    font-size: 2rem;
	    line-height: 1.5;
	    font-weight: bold;
	    letter-spacing: .08em;
	    text-decoration: underline;
	    margin-bottom: 1rem;
	    color: #1F215C;
	}

	div#toc_container,
	.table_contents{
	    margin: 4rem 0;
	    border: 1px solid #1F215C;
	    border-radius: 1rem;
	    padding: 2.5rem 2rem;
	}

	#toc_container p.toc_title,
	.table_contents_title{
	    font-size: 1.7rem;
	    font-weight: bold;
	    letter-spacing: .08em;
	    color: #000000;
	}
	#toc_container p.toc_title+ul.toc_list{
	    margin-top: .7rem;
	}
	.toc_list,
	.table_contents ul{
	    display: grid;
	    grid-gap: 1rem;
	    line-height: 1.5;
	}
	#toc_container a,
	.table_contents a{
	    display: inline-block;
	    font-size: 1.7rem;
	    font-weight: bold;
	    letter-spacing: .12em;
	    text-decoration: underline;
	}
	.wp-block-group+.wp-block-group,
	.paragraph_box+.paragraph_box{
	    margin-top: 5rem;
	}
	.news_detail_cont figure{
	    display: block;
	    width: 75.2rem;
	    max-width: 100%;
	    margin: 3.5rem auto 0;
	}
	.news_detail_cont figure img{
	    border-radius: 1rem;
	}

	.news_detail_btn{
	    margin-top: 4rem;
	    text-align: center;
	}
	.btn_link01.no_arrow{
	    width: 26rem;
	    justify-content: center;
	}

	/*contact*/
	.entry_wrap{
	    padding: 5rem 0 8rem;
	    color: #000;
	}
	.entry_wrap .inner{
		padding: 0 1.5rem;
	}

	.step_list{
	    display: flex;
	    justify-content: center;
	    grid-gap: 5rem;
	    margin-bottom: 4.7rem;
	    position: relative;
	}
	.step_list:before{
	    content: '';
	    position: absolute;
	    left: 50%;
	    transform: translateX(-50%);
	    top: 0;
	    z-index: 1;
	    width: 26rem;
	    height: 1px;
	    background: #1F215C;
	}
	.step_list li{
	    font-size: 1.8rem;
	    font-weight: bold;
	    letter-spacing: .08em;
	    color: #84858E;
	    position: relative;
	    z-index: 2;
	    padding-top: 3.8rem;
	}
	.step_list li:after,
	.step_list li:before{
	    content: '';
	    position: absolute;
	    left: 50%;
	    top: 0;
	    transform: translate(-50%,-50%);
	    z-index: 2;
	    width: 1.1rem;
	    height: 1.1rem;
	    border-radius: 50%;
	    background: #1F215C;
	}
	.step_list li:after{
	    opacity: 0;
	    z-index: 1;
	    width: 4rem;
	    height: 4rem;
	    background: #EFF5F8;
	    border: 1px solid #1F215C;
	}

	.contact_top{
	    text-align: left;
	    font-size: 1.7rem;
	    line-height: 2.05;
	    margin-bottom: 5.8rem;
	}
	.contactTable{
	    width: 100%;
	}
	.contactTable th,
	.contactTable td{
	    display: block;
	    font-size: 1.7rem;
	    letter-spacing: .1em;
	    padding-bottom: 5rem;
	}
	.contactTable th{
	    font-weight: bold;
	    text-align: left;
	    display: flex;
	    align-items: center;
	    grid-gap: 1rem;
	    padding-bottom: 1.3rem;
	}
	.contactTable th span{
	    display: inline-flex;
	    justify-content: center;
	    align-items: center;
	    letter-spacing: .1em;
	    color: #EB1210;
	    font-size: 1.4rem;
	    font-weight: 500;
	}
	.contactTable th span.required{
	}
	.contactTable th font{
	}

	.file_box,
	.contactTable input[type=text],
	.contactTable input[type=tel],
	.contactTable input[type=email],
	.contactTable select,
	.contactTable textarea{
	    width: 100%;
	    height: 6rem;
	    border-radius: .5rem;
	    background: #fff;
	    color: #000;
	    padding: 0 1.6rem;
	    font-size: 1.7rem;
	    letter-spacing: 0.1em;
	    font-weight: 500;
	    border: 1px solid #B7B7B7;
	    box-shadow: inset .3rem .3rem .6rem rgba(0,0,0,.16);
	}
	.file_box{
	    padding-left: 16rem;
	    position: relative;
	    display: flex;
	    align-items: center;
	}
	.contactTable input[type=file]{
	    position: absolute;
	    left: 0;
	    opacity: 0;
	}
	.file_label{
	    cursor: pointer;
	    position: absolute;
	    left: 1.1rem;
	    top: 50%;
	    z-index: 9;
	    transform: translateY(-50%);
	    width: 13.6rem;
	    height: 3.1rem;
	    border-radius: .5rem;
	    background: #A8A8A8;
	    color: #fff;
	    font-size: 1.4rem;
	    font-weight: bold;
	    display: flex;
	    justify-content: center;
	    align-items: center;
	}
	.file_txt{

	}
	.file_note{
	    font-size: 1.4rem;
	    font-weight: 500;
	    margin-top: 1.1rem;
	}
	.contactTable select {
	    background: url(../img/common/arrow_select.svg) no-repeat right 1.5rem center #fff;
	    background-size: 1.5rem auto;
	    padding: 0 4.5rem 0 1.6rem;
	}
	.contactTable .birth_box select {
	    background: url(../img/common/arrow_select.svg) no-repeat right 1.5rem center #fff;
	    background-size: 1.5rem auto;
	}
	.contactTable textarea{
	    resize: none;
	    min-height: 17rem;
	    padding: 1.5rem 1.6rem;
	}

	textarea::-webkit-input-placeholder{ /*WebKit browsers*/
	  color: #B4B4B4;
	}
	textarea::-moz-input-placeholder{ /*Mozilla Firefox*/
	  color: #B4B4B4;
	}
	textarea::-ms-input-placeholder{ /*Internet Explorer*/ 
	  color: #B4B4B4;
	}
	input::-webkit-input-placeholder{ /*WebKit browsers*/
	  color: #B4B4B4;
	}
	input::-moz-input-placeholder{ /*Mozilla Firefox*/
	  color: #B4B4B4;
	}
	input::-ms-input-placeholder{ /*Internet Explorer*/ 
	  color: #B4B4B4;
	}
	.p-postal-code{
	    max-width: 12rem!important;
	}
	.span_zip{
	    display: inline-flex;
	    justify-content: center;
	    align-items: center;
	    background: #1F215C;
	    color: #fff;
	    border-radius: .5rem;
	    font-size: 1.5rem;
	    font-weight: bold;
	    padding: 0 2rem;
	    height: 6rem;
	    margin-left: 1rem;
	    pointer-events: none;
	}
	.formItem+.formItem{
	    margin-top: 1.6rem;
	}
	.formItemHd{
	    font-size: 1.6rem;
	    margin-bottom: .7rem;
	}
	.formItemHd span{
	    font-size: 1.5rem;
	    color: #9F9F9F;
	}
	.formNotes{
	    font-size: 1.3rem;
	    color: #666;
	}
	.formNotes p+p{
	    margin-top: 1.9rem;
	}
	.formNotes a{
	    color: #00A04E;
	    text-decoration: underline;
	}
	.formNotes a:hover{
	    text-decoration: none;
	    opacity: 1;
	}

	.formAgree{
	}
	.formAgree a{
	    color: #1F215C;
	    border-bottom: 1px solid currentColor;
	}
	.formAgree a:hover{
	    border-color: transparent;
	    text-decoration: none;
	}
	.formButton{
	    margin-top: 4rem;
	    position: relative;
	    display: flex;
	    align-items: center;
	    justify-content: center;
	    flex-direction: column;
	    grid-gap: 3rem;
	}
	.formButton .btn_link01{
	    width: 42rem;
	    height: 8rem;
	    padding: 0;
	}
	.formButton .btn_form{
	    display: flex;
	    justify-content: center;
	    align-items: center;
	    width: 100%;
	    height: 100%;
	    font-size: 2rem;
	    letter-spacing: 0.03em;
	    font-weight: 900;
	    color: #1F215C;
	    border-radius: 1rem;
	    transition: opacity .3s;
	    background: none;
	    border: 0;
	    box-shadow: none;
	    position: relative;
	    z-index: 9;
	    padding-right: 3.5rem;
	}
	.formButton .disabled{
	    -webkit-filter: grayscale(100%);
	    filter: grayscale(100%);
	    opacity: .5;
	    pointer-events: none;
	}

	.formRadio .wpcf7-radio,
	.formRadio,
	.formCheckbox .wpcf7-checkbox{
	    display: flex;
	    flex-wrap: wrap;
	    align-items: center;
	    grid-gap: 1rem;
	}

	.wpcf7-checkbox .wpcf7-list-item,
	.wpcf7-radio .wpcf7-list-item{
	    /*width: 100%;*/
	}
	.formRadio label,
	.formCheckbox label {
	    display: flex;
	    font-size: 1.6rem;
	    line-height: 1.5;
	    font-weight: bold;
	    color: #2B2B2B;
	    position: relative;
	    cursor: pointer;
	}

	.formRadio label input[type="radio"],
	.formCheckbox label input[type="checkbox"] {
	    position: absolute;
	    z-index: -1;
	    left: 0;
	    top: 0;
	    opacity: 0;
	}

	.formRadio label span {
	    position: relative;
	    z-index: 2;
	    padding: 1.5rem 2rem;
	    color: #8E8E8E;
	    display: inline-block;
	}

	.formRadio label span:before {
	    position: absolute;
	    left: 0;
	    top: 50%;
	    transform: translateY(-50%);
	    width: 100%;
	    height: 100%;
	    border-radius: .5rem;
	    background: #EAEAEA;
	    content: '';
	    z-index: -1;
	}

	.formRadio label input[type="radio"]:checked + span{
	    color: #fff;
	}
	.formRadio label input[type="radio"]:checked + span:before {
	    background: #1F215C;
	}

	.formAgree .formCheckbox{
	}
	.formAgree .formCheckbox label{
	    width: 34.4rem;
	    height: 5.8rem;
	    margin: 3rem auto 0;
	    display: flex;
	    justify-content: center;
	    align-items: center;
	    background: #EFF5F8;
	    border-radius: .5rem;
	    font-size: 1.7rem;
	    letter-spacing: .08em;
	}
	.formCheckbox label span {
	    position: relative;
	    z-index: 2;
	    padding-left: 4.4rem;
	    display: inline-block;
	}

	.formCheckbox label span:before {
	    position: absolute;
	    left: 0;
	    top: 50%;
	    transform: translateY(-50%);
	    width: 3.4rem;
	    height: 3.4rem;
	    border-radius: .5rem;
	    background: #fff;
	    border: 2px solid #1F215C;
	    content: '';
	    z-index: 1;
	}

	.formCheckbox label span:after {
	    position: absolute;
	    left: .7rem;
	    top: .6rem;
	    width: 1.8rem;
	    height: 1rem;
	    border: .5rem solid #1D1D1D;
	    border-width: 0 0 .3rem .3rem;
	    transform: rotate(-45deg);
	    content: '';
	    z-index: 2;
	    opacity: 0;
	}

	.formCheckbox label input[type="checkbox"]:checked + span:after {
	    opacity: 1;
	}

	.wpcf7-list-item{
	    margin: 0;
	}
	.wpcf7-not-valid-tip {
	    color: #dc3232;
	    font-size: 1em;
	    font-weight: normal;
	    display: block;
	    position: absolute;
	    white-space: nowrap;
	}

	.confirmWrap .contactTable td{
	    font-size: 2rem;
	    line-height: 1.35;
	}


	.birth_box p,
	.birth_box{
	    display: flex;
	    align-items: center;
	}
	.birth_box select{
	    width: auto;
	}
	.birth_box select.birth_year{
	    width: auto;
	}
	.birth_line{
	    opacity: 0;
	    width: 2rem;
	}

	/*confirm*/
	.confirm_wrap{
	    padding: 11.8rem 0 13rem;
	}
	.confirm_hd{
	    display: flex;
	    justify-content: center;
	    margin-bottom: 2rem;
	}
	.confirm_hd span{
	    width: 24.6rem;
	    height: 6.5rem;
	    display: flex;
	    justify-content: center;
	    align-items: center;
	    font-size: 2.5rem;
	    font-weight: bold;
	    letter-spacing: .08em;
	    background: #2B2B2B;
	    color: #fff;
	}
	.confirm_top{
	    text-align: center;
	    font-size: 2rem;
	    font-weight: 500;
	    letter-spacing: .12em;
	    margin-bottom: 6rem;
	}
	.confirm_box{
	    background: #fff;
	    padding: 7.6rem 18.5rem 6rem;
	}
	.confirm_table{
	    width: 100%;
	}
	.confirm_table th,
	.confirm_table td{
	    display: block;
	    font-size: 1.7rem;
	    line-height: 2.05;
	    font-weight: 500;
	    letter-spacing: .03em;
	    text-align: left;
	}
	.confirm_table th{
	    line-height: 1.5;
	    letter-spacing: .12em;
	    font-weight: bold;
	    padding-bottom: 1.1rem;
	    border-bottom: 1px solid #707070;
	    margin-bottom: 1.3rem;
	}
	.confirm_table tr{
	    display: block;
	    margin-bottom: 3rem;
	}
	.btn_back .btn_link01{
	    background: #F0F0F0;
	    width: 26rem;
	}

	/*thanks*/
	.thanks_wrap{
	    padding: 11.5rem 0 20rem;
	    background: url(../img/common/bg_thanks_linear.png)no-repeat top center,
	    url(../img/common/bg_thanks.jpg)no-repeat bottom center;
	    background-size: 100% 100%,cover;
	    text-align: center;
	}
	.thanks_wrap .inner{
		padding: 0 1.5rem;
	}
	.thanks_hd{
	    font-size: 2.4rem;
	    font-weight: 900;
	    margin-bottom: 1.7rem;
	}
	.thanks_txt{
		text-align: left;
	}
	.thanks_txt a{
	    color: #000;
	}
	.thanks_btn{
	    margin-top: 3rem;
	}
	.thanks_btn .btn_link01{
	    width: 30rem;
	}
	
	p.sec-ttl,
	p.sec-txt,
	ul#sitemap-list li a,
	ul#sitemap-list li p a{
		font-size: 15px;
	}
	ul#sitemap-list{
		display: block;
	}
	.wpcf7-previous {
		display: block !important;
	}

	.mw_wp_form_input .step_list li:nth-of-type(1),
	.mw_wp_form_confirm .step_list li:nth-of-type(2){
	    color: #1F215C;
	}
	.mw_wp_form_input .step_list li:nth-of-type(1):before,
	.mw_wp_form_confirm .step_list li:nth-of-type(2):before{
	    width: 1.6rem;
	    height: 1.6rem;
	}
	.mw_wp_form_input .step_list li:nth-of-type(1):after,
	.mw_wp_form_confirm .step_list li:nth-of-type(2):after{
	    opacity: 1;
	}
	.mw_wp_form_confirm .contactTable td {
		padding-bottom: 3rem;
	}
}

