@charset "UTF-8";
/* CSS Document */
/*--------------------
01.共通
02.ヘッダー
03.フッター
04.
--------------------*/

/*----------
01.共通
----------*/
body{
-webkit-font-smoothing: antialiased;
}

*{
box-sizing: border-box;
}

*:focus {
outline: none;
}

#wrapper{
width: 100%;
overflow: hidden;
font-family: 'Noto Sans JP', sans-serif;
font-size: 16px;
font-weight: 400;
color: #505050;
}

.en_font{
font-family: 'Lato', sans-serif;
letter-spacing: .05em;
}

.montserrat_font{
font-family: 'Montserrat', sans-serif;
}

.pc{
display: block;
}

.sp{
display: none;
}

.contents_in{
max-width: 1040px;
width: 96%;
margin: 0 auto;
}

.flex_box{
display: flex;
}

a{
color: #505050;
}

a:hover{
color: #505050;
}

a:link{
color: #505050;
}

img{
width: 100%;
height: auto;
display: block;
}

.main_contents{
margin-top: 114px;
}

.btn_ptn01{
width: 100%;
max-width: fit-content;
margin: 1.5rem 0 0;
}

.btn_ptn01 a{
display: block;
position: relative;
padding: 16px 55px 17px;
background: #5B9154;
color: #fff;
border-radius: 30px;
font-weight: 500;
font-size: 18px;
line-height: 26px;
}

.btn_ptn01 a::after{
content: "";
display: block;
position: absolute;
width: 22.5px;
height: 22.5px;
top: 50%;
right: 20px;
background: url(../img/arrow02.png) no-repeat center/contain;
transform: translateY(-50%);
transition: .3s;
}

.btn_ptn01 a:hover::after{
right: 10px;
}

.btn_ptn02{
width: 100%;
max-width: 500px;
}

.btn_ptn02 a{
display: flex;
align-items: center;
min-height: 97px;
position: relative;
background: #F5F7F2;
color: #000;
border-radius: 10px;
font-size: 20px;
font-weight: 500;
line-height: 29px;
letter-spacing: .05em;
padding: 5px 60px 5px 25px;
}

.btn_ptn02 a:has(.txt){
min-height: 101px;
}

.btn_ptn02 a .icon{
display: inline-block;
width: 66px;
height: 66px;
margin-right: 25px;
}

.btn_ptn02 a::after{
content: "";
position: absolute;
display: block;
width: 22.5px;
height: 22.5px;
background: url(../img/arrow01.png) no-repeat center/contain;
top: 50%;
right: 39px;
transform: translateY(-50%);
transition: .3s;
}

.btn_ptn02 a:hover::after{
right: 27px;
}

.btn_ptn02 a .cnt_txt{
width: calc(100% - 91px);
max-width: 285px;
}

.btn_ptn02 a .cnt_txt .txt{
display: block;
margin-top: 3px;
color: #909090;
font-weight: 400;
font-size: 14px;
line-height: 20px;
letter-spacing: .03em;
}

.btn_ptn03{
width: 100%;
max-width: 325px;
}

.btn_ptn03 a{
display: block;
position: relative;
background: #fff;
border: 1px solid #fff;
color: #000;
border-radius: 10px;
font-size: 16px;
line-height: 24px;
padding: 11.7px 45px 12.3px 60.4px;
transition: .3s;
}

.btn_ptn03 a:hover{
background: none;
border-color: #000;
}

.btn_ptn03 a .icon{
position: absolute;
display: inline-block;
width: 33.43px;
top: 50%;
left: 17px;
transform: translateY(-50%);
}

.btn_ptn03 a::after{
content: "";
position: absolute;
display: block;
width: 13.5px;
height: 13.5px;
background: url(../img/arrow05.png) no-repeat center/contain;
top: 50%;
right: 31.3px;
transform: translateY(-50%);
transition: .3s;
}

.btn_ptn03 a:hover::after{
right: 18px;
}

.btn_ptn04 a{
display: inline-block;
position: relative;
padding-right: 20px;
font-size: 14px;
font-weight: 500;
line-height: 20px;
color: #5B9154;
}

.btn_ptn04 a::before{
content: "";
position: absolute;
display: block;
width: 0;
height: 1px;
background: #5B9154;
left: 0;
bottom: 0;
transition: .3s;
}

.btn_ptn04 a:hover::before{
width: 100%;
}

.btn_ptn04 a::after{
content: "";
position: absolute;
display: block;
width: 16px;
height: 16px;
background: url(../img/arrow06.png) no-repeat center/contain;
right: 0;
top: 50%;
transform: translateY(-50%);
}

.title_ptn01.center{
text-align: center;
}

.title_ptn01 .en{
  display: block;
font-weight: 700;
font-size: 15px;
line-height: 18px;
letter-spacing: .05em;
color: #5B9154;
text-transform: uppercase;
margin-bottom: 8px;
}

.title_ptn01 .ja{
font-weight: 500;
font-size: 24px;
line-height: 35px;
color: #000;
}

.title_ptn01_box{
align-items: flex-end;
}

.title_ptn01_box .ttl_txt{
font-weight: 400;
font-size: 14px;
line-height: 20px;
color: #8E8E8E;
margin: 0 0 3px 21px;
}












/*ぱんくず*/
.pankuzu_list{
align-items: center;
flex-wrap: wrap;
}

.pankuzu_list li{
margin-right: 24px;
font-size: 14px;
line-height: 20px;
letter-spacing: .03em;
color: #909090;
position: relative;
}

.pankuzu_list li::after{
content: "／";
position: absolute;
display: inline-block;
font-family: 'Noto Sans JP', sans-serif;
font-size: 14px;
line-height: 20px;
letter-spacing: .03em;
color: #909090;
top: 50%;
right: -19px;
transform: translateY(-50%);
}

.pankuzu_list li:last-child:after{
content: none;
}

.pankuzu_list li a{
display: block;
color: #909090;
position: relative;
transition: .3s;
}

.pankuzu_list li a:hover{
opacity: .7;
text-decoration: underline;
}

/*下層タイトルエリア*/
.under_titlearea_ptn01{
position: relative;
padding-top: 52px;
}

.under_titlearea_ptn01::after {
content: "";
position: absolute;
display: block;
width: 108.57px;
height: 57.69px;
background: url(../img/parts_tori03.png) no-repeat center/contain;
right: 32%;
bottom: -31px;
}

.under_titlearea_ptn01 .titlearea_img{
width: 83.83%;
height: 290px;
margin: 0 0 0 auto;
border-radius: 50px 0 0 0;
position: relative;
}

.under_titlearea_ptn01 .titlearea_img::before {
content: "";
position: absolute;
display: block;
width: 139px;
height: 96px;
background: url(../img/parts_tori01.png) no-repeat center/contain;
right: 21.5%;
top: -39px;
}

.under_titlearea_ptn01 .titlearea_img::after {
content: "";
position: absolute;
display: block;
width: 125.05px;
height: 69.62px;
background: url(../img/parts_tori02.png) no-repeat center/contain;
left: -52px;
top: 15.3px;
}

.under_titlearea_ptn01 .titlearea_img img{
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
border-radius: 50px 0 0 0;
}

.under_titlearea_ptn01 .contents_in{
margin-top: -146px;
position: relative;
}

.under_titlearea_ptn01 .cnt_txt{
background: #fff;
display: inline-block;
min-width: 422px;
padding: 38px 135px 32px 0;
border-radius: 0 50px 0 0;
position: relative;
}

.under_titlearea_ptn01 .cnt_txt::after {
content: "";
display: block;
position: absolute;
width: calc(100vw - 100%);
height: 100%;
background: #fff;
top: 0;
right: 100%;
}

.under_titlearea_ptn01 .cnt_txt h1{
font-weight: 500;
font-size: 36px;
line-height: 52px;
color: #000;
}

.under_titlearea_ptn01 .pankuzu_list{
margin-top: 14px;
}

.under_titlearea_ptn02{
position: relative;
padding: 39px 0 25.4px;
}

.under_titlearea_ptn02::after {
content: "";
position: absolute;
display: block;
width: 108.57px;
height: 57.69px;
background: url(../img/parts_tori03.png) no-repeat center/contain;
right: 29%;
bottom: 0;
}

.under_titlearea_ptn02 .contents_in{
position: relative;
}

.under_titlearea_ptn02 .contents_in::before {
content: "";
position: absolute;
display: block;
width: 125.05px;
height: 69.62px;
background: url(../img/parts_tori02.png) no-repeat center/contain;
left: 32.5%;
top: -19.8px;
z-index: 1;
}

.under_titlearea_ptn02 .contents_in::after {
content: "";
position: absolute;
display: block;
width: 139px;
height: 96px;
background: url(../img/parts_tori01.png) no-repeat center/contain;
right: -45px;
top: 23px;
}

.under_titlearea_ptn02 .cnt_txt{
background: #2A5644;
border-radius: 0 30px 30px 0;
padding: 45px 20px 44px 0;
position: relative;
}

.under_titlearea_ptn02 .cnt_txt::after{
content: "";
display: block;
position: absolute;
width: calc(100vw - 100%);
height: 100%;
background: #2A5644;
top: 0;
right: 100%;
}

.under_titlearea_ptn02 .cnt_txt h1{
font-weight: 500;
font-size: 36px;
line-height: 52px;
color: #fff;
}

.under_titlearea_ptn02 .cnt_txt h1 .small_txt{
font-size: 20px;
line-height: 29px;
margin-left: 12px;
}

.under_titlearea_ptn02 .pankuzu_list{
margin-top: 12px;
}

.under_titlearea_ptn02 .pankuzu_list li,
.under_titlearea_ptn02 .pankuzu_list li::after,
.under_titlearea_ptn02 .pankuzu_list li a {
color: #CDD7D0;
}

/*グループスライダーエリア*/
#group_area{
padding: 100px 0;
max-width: 1280px;
margin: 0 auto;
}

#group_area .cnt_box{
max-width: 1160px;
margin: 0 0 0 auto;
align-items: flex-start;
justify-content: space-between;
}

#group_area .title_box{
width: 200px;
}

#group_area .title_box .ttl_txt{
margin-top: 20px;
padding-top: 40px;
border-top: 1px solid rgba(198,196,185,.4);
line-height: 28px;
}

#group_area .title_box .btn_ptn01{
margin-top: 40px;
}

#group_area .title_box .btn_ptn01 a{
padding-left: 20px;
}


#group_area .group_slider{
width: calc(100% - 220px);
max-width: 861px;
position: relative;
padding-bottom: 115px;
}

#group_area .group_item{
width: 442px;
margin-right: 30px;
position: relative;
border-radius: 25px;
overflow: hidden;
}

#group_area .group_item img{
transition: .3s;
}

#group_area .group_item a:hover img{
transform: scale(1.2);
}

#group_area .group_item .cnt_txt{
display: inline-block;
min-width: 287px;
max-width: 95%;
border-radius: 0 15px 0 0;
padding: 15.5px 90px 16px 52px;
background: #fff;
position: absolute;
left: 0;
bottom: 0;
font-weight: 500;
font-size: 20px;
line-height: 29px;
}

#group_area .group_item .cnt_txt::before{
content: "";
display: block;
position: absolute;
width: 13.29px;
height: 13.29px;
border-radius: 50%;
background: #70A369;
left: 25.3px;
top: 25px;
}

#group_area .group_item .cnt_txt::after{
content: "";
display: block;
position: absolute;
width: 23px;
height: 23px;
background: url(../img/arrow07.png) no-repeat center/contain;
top: 50%;
right: 25.3px;
transform: translateY(-50%);
transition: .3s;
}

#group_area .group_item a:hover .cnt_txt::after{
right: 15px;
}

#group_area .group_slider .slick-arrow{
display: flex;
align-items: center;
justify-content: center;
position: absolute;
width: 75px;
height: 75px;
background: #5B9154;
border-radius: 50%;
color: rgba(0,0,0,0);
font-size: 0;
border: none;
bottom: 0;
cursor: pointer;
}

#group_area .group_slider .slick-arrow::before{
content: "";
display: block;
width: 25px;
height: 18px;
}

#group_area .group_slider .slick-next{
right: 121px;
}

#group_area .group_slider .slick-next::before{
background: url(../img/slider_arrow_next.png) no-repeat center/contain;
}

#group_area .group_slider .slick-prev{
right: 213px;
background: #E2EDE1;
}

#group_area .group_slider .slick-prev::before{
background: url(../img/slider_arrow_prev.png) no-repeat center/contain;
}

.under_contact_area {
position: relative;
padding: 100px 0 108px;
margin-top: 100px;
}

.under_contact_area .cloud01 {
position: absolute;
z-index: -1;
top: 46px;
right: calc(50% + 520px);
width: 159px;
height: 87px;
background: url("../img/contact_parts_cloud01.png") no-repeat center / contain;
}

.under_contact_area .title_ptn01 {
margin-bottom: 66px;
}

.under_contact_area .main_block {
position: relative;
z-index: 1;
}

.under_contact_area .main_block .cmn_em_text {
margin-bottom: 60px;
font-size: 24px;
line-height: 1.95;
}

.under_contact_area .main_block .cmn_panel01 {
width: -webkit-fit-content;
width: -moz-fit-content;
width: fit-content;
}

.under_contact_area .main_block .cmn_panel01 .pnl_box {
padding: 5px 25px;
}

.under_contact_area .main_block .cmn_panel01 .pnl_box dl .wrap {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
padding: 22px 0;
}

.under_contact_area .main_block .cmn_panel01 .pnl_box dl .wrap + .wrap {
border-top: 1px solid #DEE0DC;
}

.under_contact_area .main_block .cmn_panel01 .pnl_box dl .wrap dt {
margin-right: 52px;
color: #2A5644;
font-weight: 500;
line-height: 1.4;
}

.under_contact_area .main_block .cmn_panel01 .pnl_box dl .wrap dd {
font-size: 26px;
font-family: "Lato", sans-serif;
letter-spacing: .03em;
}

.under_contact_area .main_block .cnt_img {
position: absolute;
z-index: -1;
top: -27%;
right: 4.5%;
width: 40%;
}

.under_contact_area .main_block .cnt_img::before {
content: "";
position: absolute;
z-index: -1;
top: -11px;
left: -30.2%;
width: 180.5%;
height: 441px;
background: url(../img/contact_parts01.png) no-repeat center 10% / contain;
}

/*----------
02.ヘッダー
----------*/
header{
width: 100%;
display: block;
position: fixed;
top: 0;
left: 0;
z-index: 10;
padding: 28px 0;
background: #fff;
}

header .contents_in{
max-width: 1215px;
align-items: center;
justify-content: flex-end;
}

header .logo{
max-width: 305px;
margin: 0 auto 0 0;
z-index: 1;
}

header .logo a{
transition: .3s;
}

header .logo a:hover{
opacity: .7;
}

header .btn_tel{
width: 241px;
margin: 0 17px 0 0;
z-index: 1;
}

header .btn_tel a{
display: block;
position: relative;
padding: 13px 18px 13px 60px;
color: #fff;
background: #628BE5;
border: 1px solid #628BE5;
border-radius: 31px;
transition: .3s;
}

header .btn_tel a:hover{
background: #fff;
color: #628BE5;
}

header .btn_tel a::before{
content: "";
display: block;
position: absolute;
width: 33px;
height: 33px;
border-radius: 50%;
background: #fff;
top: 50%;
left: 16px;
transform: translateY(-50%);
}

header .btn_tel a::after{
content: "";
display: block;
position: absolute;
width: 14.5px;
height: 14.5px;
background: url(../img/icon_tel.png) no-repeat center/contain;
top: 50%;
left: 25.5px;
transform: translateY(-50%);
}

header .btn_tel a .num{
font-weight: 700;
font-size: 24px;
line-height: 30px;
letter-spacing: 0;
cursor: pointer;
}

header .open_btn{
width: 58px;
height: 58px;
border-radius: 50%;
background: #5B9154;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
z-index: 1;
}

header .open_btn span{
display: block;
width: 28px;
height: 1.6px;
background: #fff;
transition: .3s;
}

header .open_btn span:nth-child(2){
margin: 7.4px 0;
}

header .open_btn:hover span{
width: 24px;
}

header .open_btn.open span:nth-child(2){
display: none;
}

header .open_btn.open span:nth-child(1){
width: 28px;
transform: rotateZ(45deg);
}

header .open_btn.open span:nth-child(3){
width: 28px;
margin-top: -1.5px;
transform: rotateZ(-45deg);
}

header .header_nav{
position: fixed;
width: 100vw;
height: 100vh;
overflow-y: auto;
background: #fff;
top: 0;
left: 0;
display: none;
padding-top: 166px;
}

header .header_nav .nav_in{
align-items: flex-start;
justify-content: space-between;
min-height: calc(100vh - 229px);
flex-wrap: wrap;
align-content: flex-start;
}

header .header_nav .nav_menu{
width: 49%;
}

header .header_nav .nav_menu a{
display: block;
position: relative;
padding: 23px 30px 21px 75px;
font-weight: 500;
font-size: 16px;
line-height: 24px;
border-top: 1px solid #EDEDED;
transition: .3s;
}

header .header_nav .nav_menu li:last-child a{
border-bottom: 1px solid #EDEDED;
}

header .header_nav .nav_menu a:hover{
background: #F5F7F2;
}

header .header_nav .nav_menu a::before{
content: "";
display: block;
position: absolute;
width: 45px;
height: 45px;
background: url(../img/menu_icon07.png) no-repeat center/contain;
top: 50%;
left: 10px;
transform: translateY(-50%);
}

header .header_nav .nav_menu li.about a::before{
background: url(../img/menu_icon01.png) no-repeat center/contain;
}

header .header_nav .nav_menu li.function a::before{
background: url(../img/menu_icon02.png) no-repeat center/contain;
}

header .header_nav .nav_menu li.specialty a::before{
background: url(../img/menu_icon03.png) no-repeat center/contain;
}

header .header_nav .nav_menu li.support a::before{
background: url(../img/menu_icon04.png) no-repeat center/contain;
}

header .header_nav .nav_menu li.visitor a::before{
background: url(../img/menu_icon05.png) no-repeat center/contain;
}

header .header_nav .nav_menu li.access a::before{
background: url(../img/menu_icon09.png) no-repeat center/contain;
}

header .header_nav .nav_menu li.hospitalization a::before{
background: url(../img/menu_icon06.png) no-repeat center/contain;
}

header .header_nav .nav_menu li.group a::before{
background: url(../img/menu_icon07.png) no-repeat center/contain;
}

header .header_nav .nav_menu li.contact a::before{
background: url(../img/menu_icon08.png) no-repeat center/contain;
}

header .header_nav .nav_menu a::after{
content: "";
display: block;
position: absolute;
width: 25px;
height: 25px;
background: url(../img/arrow01.png) no-repeat center/contain;
top: 50%;
right: 12px;
transition: .3s;
transform: translateY(-50%);
}

header .header_nav .nav_menu a:hover::after{
right: 0;
}

header .header_nav .header_copyright{
font-size: 10px;
text-align: center;
line-height: 17px;
color: #797979;
padding: 20px 20px 26px;
}


/*----------
03.フッター
----------*/
footer{
background: #2A5644;
}

footer .footer_top{
padding: 68px 0 80px;
border-bottom: 1px solid rgba(255,255,255,.4);
justify-content: space-between;
align-items: flex-start;
}

footer .footer_top .cnt_left{
max-width: 420px;
}

footer .footer_top .cnt_left .cnt_txt{
color: #fff;
margin: 65px 0 39px;
font-weight: 500;
font-size: 14px;
line-height: 22.5px;
letter-spacing: .03em;
}

footer .footer_top .cnt_left .sns_link{
align-items: center;
}

footer .footer_top .cnt_left .sns_link li{
width: 40.3px;
}

footer .footer_top .cnt_left .sns_link li + li{
margin-left: 25px;
}

footer .footer_top .cnt_left .sns_link li a{
transition: .3s;
}

footer .footer_top .cnt_left .sns_link li a:hover{
opacity: .7;
}

footer .footer_top .cnt_right{
width: calc(100% - 440px);
max-width: 570px;
align-items: flex-start;
justify-content: space-between
}

footer .footer_top .footer_top_nav{
width: 48%;
max-width: 250px;
}

footer .footer_top .footer_top_nav li + li{
margin-top: 50px;
}

footer .footer_top .footer_top_nav a{
display: block;
position: relative;
padding: 0 25px 14px 0;
border-bottom: 1px solid rgba(255,255,255,.4);
color: #fff;
font-weight: 700;
font-size: 16px;
line-height: 24px;
transition: .3s;
}

footer .footer_top .footer_top_nav a:hover{
border-bottom: 1px solid rgba(255,255,255,1);
}

footer .footer_top .footer_top_nav a::before{
content: "";
position: absolute;
display: block;
width: 23.08px;
height: 23.08px;
background: #61887C;
border-radius: 50%;
right: 0;
bottom: 15px;
transition: .3s;
}

footer .footer_top .footer_top_nav a::after{
content: "";
position: absolute;
display: block;
width: 9.5px;
height: 9.5px;
background: url(../img/arrow02.png) no-repeat center/contain;
right: 6.5px;
bottom: 22px;
transition: .3s;
}

footer .footer_top .footer_top_nav a:hover::before{
background: #2A5644;
}

footer .footer_top .footer_top_nav a:hover::after{
right: 0;
}

footer .footer_bottom{
padding: 35px 0 34px;
}

footer .footer_bottom .footer_bottom_nav{
justify-content: center;
align-items: center;
}

footer .footer_bottom .footer_bottom_nav li{
padding: 0 17.5px;
}

footer .footer_bottom .footer_bottom_nav li + li{
border-left: 1px solid #FFFFFF;
}

footer .footer_bottom .footer_bottom_nav li a{
display: inline-block;
position: relative;
font-weight: 500;
font-size: 14px;
letter-spacing: .03em;
color: #fff;
transition: .3s;
}

footer .footer_bottom .footer_bottom_nav li a:hover{
opacity: .7;
}

footer .footer_bottom .footer_bottom_nav li a::before{
content: "";
display: block;
position: absolute;
left: 0;
bottom: -2px;
width: 100%;
height: 1px;
background: #fff;
transition: .3s;
}

footer .footer_bottom .footer_bottom_nav li a:hover::before{
width: 100%;
}

footer .copyright{
background: #fff;
text-align: center;
font-size: 10px;
line-height: 15px;
color: #797979;
padding: 4px 10px 6px;
}

.recruit-btn{
  max-width: 780px;
  height: 125px;
  margin: 80px auto 0;
}
.recruit-btn a{
  width: 100%;
  height: 125px;
  padding: 0 40px;
}

.recruit-btn__txt span{
  font-size: 16px;
  font-weight: 500;
  color: #5B9154;
  display: block;
}

.footer-recruit-btn{
  max-width: 408px!important;
  height: 77px;
}
.footer-recruit-btn a{
  width: 100%;
  height: 77px;
  min-height: 77px;
  padding: 0 40px 0 20px!important;
  background: transparent;
  border: 1px solid #517466;
  border-radius: 10px!important;
}

.footer-recruit-btn a::after{
  background-image: url(../img/arrow02.png)!important;
  width: 12px;
  height: 12px;
  right: 20px;
}

.footer-recruit-btn a:hover::after{
  right: 10px;
}

.footer-recruit-btn a img{
  width: 46px!important;
  height: 46px!important;
  margin-right: 4px!important;
}

.footer-recruit-btn__txt{
  color: #fff;
  font-size: 16px;
}

.footer-recruit-btn__txt span{
  font-size: 14px;
  letter-spacing: 0;
  font-weight: 500;
  color: #fff;
  display: block;
}

@media only screen and (max-width:1024px){
/*------------
01.共通 1024
------------*/
/*下層タイトルエリア*/
.under_titlearea_ptn02 .contents_in::after {
right: -15px;
}

/*グループスライダーエリア*/
#group_area .group_item {
width: 370px;
}

.under_contact_area .cnt_area04 .cloud01 {
right: auto;
left: -39px;
}




/*--------------
02.ヘッダー 1024
--------------*/

/*--------------
03.フッター 1024
--------------*/
footer .footer_top {
display: block;
}

footer .footer_top .cnt_left {
margin: 0 auto 40px;
}

footer .footer_top .cnt_left .cnt_txt {
text-align: center;
margin: 35px 0;
}

footer .footer_top .cnt_left .sns_link {
justify-content: center;
}

footer .footer_top .cnt_right {
width: 100%;
max-width: none;
}

footer .footer_top .footer_top_nav {
max-width: none;
}

}

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

/*----------
01.共通 750
----------*/

.pc{
display: none;
}

.sp{
display: block;
}

.contents_in{
width: calc(100% - 40px);
}

.main_contents{
margin-top: 71px;
}

.btn_ptn01{
max-width: 294px;
}

.btn_ptn01 a{
text-align: center;
padding: 16px 10px;
font-size: 16px;
line-height: 24px;
}

.btn_ptn01 a:hover{
opacity: .7;
}

.btn_ptn01 a::after{
content: none;
}

.btn_ptn02{
max-width: 354px;
}

.btn_ptn02 a{
min-height: 73px;
border-radius: 0 10px 10px 0;
font-size: 14px;
line-height: 20px;
padding: 5px 30px 5px 28px;
}

.btn_ptn02 a:has(.txt){
min-height: 76px;
}

.btn_ptn02 a .icon{
width: 47px;
height: 47px;
margin-right: 17px;
}

.btn_ptn02 a::after{
width: 14.5px;
height: 14.5px;
background: url(../img/arrow03.png) no-repeat center/contain;
right: 15px;
}

.btn_ptn02 a:hover::after{
right: 7px;
}

.btn_ptn02 a .cnt_txt{
width: calc(100% - 64px);
}

.btn_ptn02 a .cnt_txt .txt{
font-size: 12px;
line-height: 17px;
}

.btn_ptn03 a {
height: 50px;
padding: 7px 32px 7px 51px;
font-size: 13px;
line-height: 19px;
display: flex;
align-items: center;
}

.btn_ptn03 a .icon {
width: 30px;
left: 10px;
}

.btn_ptn03 a::after {
width: 4.5px;
height: 8px;
background: url(../img/arrow10.png) no-repeat center/contain;
right: 17.6px;
}



.title_ptn01 .en{
font-size: 13px;
line-height: 15px;
margin-bottom: 5px;
}

.title_ptn01 .ja{
font-size: 18px;
line-height: 26px;
}

.title_ptn01_box{
display: block;
}

.title_ptn01_box .ttl_txt{
margin: 5px 0 0;
}







/*ぱんくず*/
.pankuzu_list li{
margin-right: 20px;
font-size: 12px;
line-height: 17px;
}

.pankuzu_list li::after{
font-size: 12px;
line-height: 17px;
right: -17px;
}

/*下層タイトルエリア*/
.under_titlearea_ptn01 {
padding-top: 30px;
}

.under_titlearea_ptn01::after {
width: 60px;
height: 32px;
right: 5px;
bottom: 0;
}

.under_titlearea_ptn01 .titlearea_img {
width: calc(100% - 40px);
height: 200px;
}

.under_titlearea_ptn01 .titlearea_img::before {
width: 80px;
height: 56px;
right: 23%;
top: -30px;
}

.under_titlearea_ptn01 .titlearea_img::after {
width: 70px;
height: 39px;
left: -29px;
}

.under_titlearea_ptn01 .contents_in {
margin-top: -60px;
}

.under_titlearea_ptn01 .cnt_txt {
display: block;
min-width: auto;
width: calc(100% - 20px);
padding: 30px 20px 25px 0;
}

.under_titlearea_ptn01 .cnt_txt h1 {
font-size: 22px;
line-height: 1.7;
}

.under_titlearea_ptn01 .pankuzu_list {
margin-top: 8px;
}

.under_titlearea_ptn02{
padding: 15px 0;
}

.under_titlearea_ptn02::after {
width: 60px;
height: 32px;
right: 30%;
bottom: 0;
}

.under_titlearea_ptn02 .contents_in::before {
width: 70px;
height: 39px;
left: 10%;
top: -10px;
}

.under_titlearea_ptn02 .contents_in::after {
width: 70px;
height: 48.5px;
top: 0;
}

.under_titlearea_ptn02 .cnt_txt{
padding: 30px 15px 25px 0;
}

.under_titlearea_ptn02 .cnt_txt h1{
font-size: 22px;
line-height: 1.6;
}

.under_titlearea_ptn02 .cnt_txt h1 .small_txt{
display: inline-block;
font-size: 14px;
line-height: 1.6;
margin-left: 8px;
}

.under_titlearea_ptn02 .pankuzu_list{
margin-top: 8px;
}



/*グループスライダーエリア*/
#group_area{
padding: 51px 0 75px;
}

#group_area .cnt_box{
margin: 0 auto;
display: block;
}

#group_area .title_box{
width: 100%;
margin-bottom: 35px;
}

#group_area .title_ptn01_box {
display: flex;
justify-content: space-between;
}

#group_area .title_box .ttl_txt{
margin-top: 20px;
padding-top: 0;
border-top: none;
line-height: 20px;
font-size: 14px;
color: #8E8E8E;
}

#group_area .title_box .btn_ptn01{
margin-top: 40px;
}

#group_area .title_box .btn_ptn01 a{
padding-left: 20px;
}


#group_area .group_slider{
width: calc(100% + 20px);
padding-bottom: 74px;
}

#group_area .group_item{
width: 243px;
margin-right: 25px;
border-radius: 15px;
}

#group_area .group_item .cnt_txt{
min-width: auto;
max-width: 95%;
padding: 10px 34.3px 9px 26px;
font-size: 14px;
line-height: 20px;
}

#group_area .group_item .cnt_txt::before{
width: 8px;
height: 8px;
left: 10px;
top: 17px;
}

#group_area .group_item .cnt_txt::after{
width: 8px;
height: 8px;
background: url(../img/arrow08.png) no-repeat center/contain;
right: 20px;
}

#group_area .group_item a:hover .cnt_txt::after{
right: 10px;
}

#group_area .group_slider .slick-arrow{
width: 44px;
height: 44px;
}

#group_area .group_slider .slick-arrow::before{
width: 13.5px;
height: 9px;
}

#group_area .group_slider .slick-next{
right: 20px;
}

#group_area .group_slider .slick-prev{
right: 75px;
}

.under_contact_area {
padding: 80px 0;
margin-top: 0;
}

.under_contact_area .cloud01 {
display: none;
}

.under_contact_area .title_ptn01 {
margin-bottom: 40px;
}

.under_contact_area .main_block .cnt_img {
position: relative;
top: auto;
right: auto;
max-width: 274px;
width: 100%;
margin: 0 auto 40px;
}

.under_contact_area .main_block .cnt_img::before {
top: auto;
bottom: -5%;
left: -18%;
width: 150%;
background-position: center bottom;
z-index: 1;
}

.under_contact_area .main_block .cmn_em_text {
margin-bottom: 20px;
font-size: 20px;
}

.under_contact_area .main_block .cmn_panel01 {
width: 100%;
}

.under_contact_area .main_block .cmn_panel01 .pnl_box {
padding: 5px 15px;
}

.under_contact_area .main_block .cmn_panel01 .pnl_box dl .wrap dt {
width: calc(100% - 130px);
margin-right: 0;
padding-right: 5px;
font-size: 14px;
}

.under_contact_area .main_block .cmn_panel01 .pnl_box dl .wrap dd {
width: 130px;
font-size: 19px;
letter-spacing: 0;
text-align: right;
white-space: nowrap;
}


/*--------------
02.ヘッダー 750
--------------*/
header {
padding: 18px 0;
}

header .logo {
width: calc(100% - 87px);
max-width: 198px;
}

header .btn_tel {
width: 35px;
height: 35px;
margin: 0 7px 0 10px;
}

header .btn_tel a {
display: flex;
align-items: center;
justify-content: center;
padding: 0;
border-radius: 50%;
height: 100%;
}

header .btn_tel a::before {
content: none;
}

header .btn_tel a::after {
position: relative;
width: 15.5px;
height: 15.5px;
background: url(../img/icon_tel02.png) no-repeat center/contain;
top: auto;
left: auto;
transform: translateY(0);
}

header .open_btn {
width: 35px;
height: 35px;
}

header .open_btn span,
header .open_btn:hover span {
width: 16px;
height: 1px;
}

header .open_btn span:nth-child(2) {
margin: 4.6px 0;
}

header .open_btn.open span:nth-child(1),
header .open_btn.open span:nth-child(3) {
width: 16px;
}

header .open_btn.open span:nth-child(3) {
margin-top: -1px;
}

header .header_nav {
padding-top: 89px;
}

header .header_nav .nav_in {
display: block;
/* min-height: calc(100vh - 150px); */
min-height: none;
}

header .header_nav .nav_menu {
width: 100%;
}

header .header_nav .nav_menu a {
font-size: 14px;
line-height: 22px;
}

header .header_nav .nav_menu li:last-child a {
border-bottom: none;
}

header .header_nav .nav_menu:last-child li:last-child a {
border-bottom: 1px solid #EDEDED;
}

header .header_nav .nav_menu a::after {
height: 14.5px;
background: url(../img/arrow03.png) no-repeat center/contain;
}

header .header_nav .header_copyright {
font-size: 10px;
line-height: 15px;
}

/*--------------
03.フッター  750
--------------*/
footer .contents_in{
width: 100%;
}

footer .footer_top {
padding: 50px 0 20px;
border-bottom: none;
}

footer .footer_top .cnt_left {
margin: 0 auto 24.7px;
padding: 0 10px;
}

footer .footer_top .cnt_left .footer_logo{
max-width: 276px;
margin: 0 auto;
}

footer .footer_top .cnt_left .cnt_txt {
margin: 21.5px 0;
font-size: 12px;
line-height: 20px;
color: #B6C5BF;
}

footer .footer_top .cnt_right {
display: block;
padding: 5px 40px;
background: #3D6253;
}

footer .footer_top .footer_top_nav {
width: 100%;
}
footer .footer_top .footer_top_nav li + li {
margin-top: 0;
}

footer .footer_top .footer_top_nav a {
padding: 14px 15px 14px 0;
font-weight: 500;
}

footer .footer_top .footer_top_nav:last-child li:last-child a{
border-bottom: none;
}

footer .footer_top .footer_top_nav a::before{
content: none;
}

footer .footer_top .footer_top_nav a::after {
width: 6px;
height: 10.5px;
background: url(../img/arrow04.png) no-repeat center/contain;
right: 0;
bottom: auto;
top: 50%;
transform: translateY(-50%);
}

footer .footer_bottom {
padding: 20px 40px 25px;
}

footer .footer_bottom .footer_bottom_nav {
flex-wrap: wrap;
justify-content: flex-start;
}

footer .footer_bottom .footer_bottom_nav li {
padding: 0 0 0 13.5px;
margin-left: 12.5px;
border-color: #B6C5BF;
padding-bottom: 2px;
font-size: 14px;
}

footer .footer_bottom .footer_bottom_nav li:first-child{
margin-left: 0;
padding-left: 0;
}

footer .footer_bottom .footer_bottom_nav li + li {
border-left: 1px solid #B6C5BF;
}

footer .footer_bottom .footer_bottom_nav li a {
font-size: 12px;
line-height: 14px;
color: #B6C5BF;
}

footer .footer_bottom .footer_bottom_nav li a::before {
bottom: 0;
background: #B6C5BF;
}


.recruit-btn{
  max-width: 780px;
  height: 90px;
  margin: 40px auto 0;
}
.recruit-btn a{
  width: 100%;
  height: 90px;
  padding: 0 40px 0 20px;
  border-radius: 10px;
}

.recruit-btn__txt span{
  font-size: 13px;
  font-weight: 500;
  color: #5B9154;
  display: block;
}



}

@media only screen and (max-width:360px){
/*--------------
03.フッター  360
--------------*/
footer .footer_top .cnt_right {
padding: 5px 20px;
}

footer .footer_bottom {
padding: 20px 20px 25px;
}

}
