html,body{
padding: 0;
margin: 0;
font-family: 'Noto Sans JP', sans-serif;
width: 100%;
background-color: #f5f5f5;
}

::selection {
  color: #fff;
  background-color: #0057AA;
}

a,button,input[type="submit"]{
transition: opacity .3s;
}


a:hover,
button:hover,
input[type="submit"]:hover{
opacity: 0.7;
}

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


.slick-list {
    margin:0 0;
}

.slick-slide {
    margin:0 15px;
}

.slick-slider{
padding-bottom: 100px;
}

.slick__prev,
.slick__next {
  position: absolute;
  bottom: 0;
  z-index: 1;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 2px solid #0057AA;
cursor: pointer;
background-color:transparent;
}

.slick__prev:hover,
.slick__next:hover {
}

.slick__prev {
  left: 0;
}

.slick__next {
  left: 70px;
}

.slick__prev:before,
.slick__next:before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #0057AA;
  border-right: 2px solid #0057AA;
  opacity: 1;
  content: '';
}

.slick__prev:before {
  transform: translate(-25%, -50%) rotate(-135deg);
}

.slick__next:before {
  transform: translate(-75%, -50%) rotate(45deg);
}


.js-fade {
opacity: 0;
transition: opacity 1s, transform 1s;
transform: translate(0px,20px);
}

.js-fade.d05 {
transition-delay: 0.5s;
}

.js-fade.d1 {
transition-delay: 1s;
}

.js-fade.inview {
opacity: 1;
transform: translate(0px,0px);
}


.sp {
  display: none;
}


.mt0 {
  margin-top: 0 !important;
}

.mt8 {
  margin-top: 8px !important;
}

.mt16 {
  margin-top: 16px !important;
}

.mt24 {
  margin-top: 24px !important;
}

.mt32 {
  margin-top: 32px !important;
}

.mt48 {
  margin-top: 48px !important;
}

.mt64 {
  margin-top: 64px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mt120 {
  margin-top: 120px !important;
}

strong {
  font-weight: 500 !important;
}

::placeholder {
  color: #999;
}
/* 旧Edge対応 */
::-ms-input-placeholder {
  color: #999;
}

input,
textarea,
button{
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

textarea{
	resize: none;
}

input[type="text"],
input[type="tel"],
input[type="email"],
textarea{
	background-color: #EBEBEB;
	font-size: clamp(14px, 2.2vw, 16px);
	padding: 10px;
	box-sizing: border-box;
	border-radius: 4px;
}

button{
	cursor: pointer;
	font-family: 'Noto Sans JP', sans-serif;
}

.file_button{
	font-size: clamp(14px, 2.2vw, 16px);
	cursor: pointer;
}

.file_button::file-selector-button{
	font-size: clamp(14px, 2.2vw, 16px);
	background-color: #EBEBEB;
	padding: 10px;
	box-sizing: border-box;
	border-radius: 4px;
	margin-right: 0.8em;
	border: 0;
	color: #000;
}

.select_style {
  display: inline-block;
  position: relative;
  border: none;
  vertical-align: middle;
}

.select_style select {
  appearance: none;
  font-size: clamp(14px, 2.2vw, 16px);
	padding: 10px 45px 10px 10px;
  border: none;
	
	border-radius: 4px;
  outline: 0;
  background-color: #EBEBEB;
  background-image: none;
  box-shadow: none;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  cursor: pointer;
}

.select_style::before {
  content: '';
  width: 6px;
  height: 6px;
  border-top: solid 2px #000;
  border-right: solid 2px #000;
  position: absolute;
  right: 10px;
  top: calc(50% - 6px);
	transform: rotate(135deg);
  
}



input[type="checkbox"] {
  position: relative;
  width: 22px;
  height: 22px;
	border-radius: 4px;
	background: #EBEBEB;
  vertical-align: -5px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin-right: 0.8em;
  margin-bottom: 0.1em;
  cursor: pointer;
	box-shadow: inset 3px 3px 3px rgba(0,0,0,.1);
}

input[type="checkbox"]:checked:before {
  position: absolute;
  top: -2px;
  left: 9px;
  transform: rotate(50deg);
  width: 8px;
  height: 16px;
  border-right: 3px solid #0057AA;
  border-bottom: 3px solid #0057AA;
  content: '';
}


input[type="radio"] {
  position: relative;
  width: 22px;
  height: 22px;
	border-radius: 50%;
	background: #EBEBEB;
  vertical-align: -5px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin-right: 0.8em;
  margin-bottom: 0.1em;
  cursor: pointer;
	box-shadow: inset 3px 3px 3px rgba(0,0,0,.1);
}

input[type="radio"]:checked:after{
	position: absolute;
  top: calc(50% - 6px);
  left: calc(50% - 6px);
  width: 12px;
  height: 12px;
	border-radius: 50%;
	background: #0057AA;
  content: '';
}


label{
	cursor: pointer;
}

input[type="submit"]{
	cursor: pointer;
}


button[type="submit"].submit_btn{
	color: #fff;
background: linear-gradient(90deg, #039099 0%, #0057AA 100%);
font-size:clamp(16px, 2.8vw, 22px);
	width: 100%;
	padding: 20px 40px;
	border-radius: 8px;
	box-sizing: border-box;
	border-style: solid;
	display: block;
	margin: 0 auto;
	position: relative;
	border: 0;
}

button[type="submit"].submit_btn:disabled{
	background:#ccc;
}

button[type="submit"].submit_btn:disabled:hover{
	opacity: 1;
	cursor:default;
}


.submit_btn_wrap {
  position: relative;
  display: inline-block;
	box-sizing: border-box;
	min-width: 360px;
}

.submit_btn_wrap::after {
  content: '';
  width: 8px;
  height: 8px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  right: 20px;
  top: calc(50% - 5px);
	transform: rotate(45deg);
}


button[type="button"].back_btn{
	color: #fff;
background: #333;
font-size:clamp(16px, 2.8vw, 22px);
	width: 100%;
	padding: 20px 40px;
	border-radius: 8px;
	box-sizing: border-box;
	border-style: solid;
	display: block;
	margin: 0 auto;
	position: relative;
	border: 0;
}

button[type="button"].back_btn:disabled{
	background:#ccc;
}

button[type="button"].back_btn:disabled:hover{
	opacity: 1;
	cursor:default;
}

.back_btn_wrap {
  position: relative;
  display: inline-block;
	box-sizing: border-box;
	min-width: 360px;
}

.back_btn_wrap::after {
  content: '';
  width: 8px;
  height: 8px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  left: 20px;
  top: calc(50% - 5px);
	transform: rotate(-135deg);
}



hr.hr_line {
  height: 1px;
  width: 100%;
  border-top: 1px solid #999;
}

#wrapper {
width: 100%;
  margin: 0 auto;
  position: relative;
  box-sizing: border-box;
  
}

main{
box-sizing: border-box;
width: 100%;
position: relative;
}

.header_bg{
box-sizing: border-box;
padding-bottom: 15px;
width: 100%;
}

.header_bg.i_01{
background-image: url("/assets/images/common/bg_header_01.jpg");
background-size: cover;
background-position: center center;
}

.header_bg.i_02{
background-image: url("/assets/images/common/bg_header_02.jpg");
background-size: cover;
background-position: center center;
}

.header_bg.i_03{
background-image: url("/assets/images/common/bg_header_03.jpg");
background-size: cover;
background-position: center center;
}


header,
#fixed_header{
display: flex;
align-items: center;
max-width: calc(1280px + 30px);
margin: 0 auto;
box-sizing: border-box;
padding: 0 15px;
justify-content: space-between;
position: relative;
z-index: 2000;
}

#fixed_header{
position: fixed;
  top: -80px;
  left: 0;
right: 0;
  transition: all 0.3s ease-in-out;
  visibility: hidden;
width: 100%;
}

#fixed_header.is-show {
  top: 0;
  visibility: visible;
}

header .logo_header{
width: 220px;
margin: 20px 16px 0 0;
padding: 0;
display: block;
z-index: 2000;
}

#fixed_header .logo_header{
width: 156px;
margin: 0 0 0 10px;
padding: 0;
display: block;
flex-basis: 156px;
z-index: 2000;
}


header .logo_header a,
#fixed_header .logo_header a{
display: block;
}

header .logo_header a img,
#fixed_header .logo_header a img{
display: block;
}

header .logo_header_sp{
display: none;
}

header .g_menu{
display: flex;
flex-direction: column;
}

#fixed_header .g_menu{
display: flex;
background: #fff;
border-radius: 0 0 14px 14px;
box-shadow: 2px 1px 6px 1px rgba(0, 0, 0, 0.2);
padding: 10px;
width: 100%;
align-items: center;
justify-content: space-between;
}

header .btn_link{
z-index: 2000;
}

#fixed_header .btn_link{
margin-left: 2em;

}

header .btn_link ul,
#fixed_header .btn_link ul{
display: flex;
justify-content: flex-end;
margin: 0;
padding: 0;
}

header .btn_link ul li,
#fixed_header .btn_link ul li{
list-style: none;
margin-left: 7px;
}

header .btn_link ul li:first-child,
#fixed_header .btn_link ul li:first-child{
margin-left: 0px;
}

header .btn_link ul li a{
display: flex;
justify-content: center;
align-items: center;
position: relative;
color: #fff;
background: #000;
text-decoration: none;
font-size: 14px;
font-weight: normal;
width: 180px;
height: 54px;
border-radius: 0 0 8px 8px;
box-shadow: 2px 1px 6px 1px rgba(0, 0, 0, 0.2);
}

#fixed_header .btn_link ul li a{
display: flex;
justify-content: center;
align-items: center;
position: relative;
color: #fff;
background: #000;
text-decoration: none;
font-size: clamp(10px, 1.2vw, 13px);
font-weight: normal;
width:  clamp(120px, 12vw, 150px);
height: 48px;
border-radius: 8px;
box-shadow: 2px 1px 6px 1px rgba(0, 0, 0, 0.2);
padding-right: 6px;
}

header .btn_link ul li a::before,
#fixed_header .btn_link ul li a::before{
  content: '';
  width: 10px;
  height: 10px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  right: 10px;
  top: calc(50% - 5px);
transform: rotate(45deg);
}

header .btn_link ul li a.c_01,
#fixed_header .btn_link ul li a.c_01{
background: #049098;
}

header .btn_link ul li a.c_02,
#fixed_header .btn_link ul li a.c_02{
background: #194496;
}


header .g_nav{
display: flex;
background: #fff;
border-radius: 14px;
box-shadow: 2px 1px 6px 1px rgba(0, 0, 0, 0.2);
padding: 10px;
margin-top: 10px;
width: auto;
z-index: 2000;
}

#fixed_header .g_nav{
display: flex;
flex: 1;
}

@media screen and (max-width: 1024px) {
#fixed_header .g_nav{
display: none;
}
#fixed_header .btn_link{
flex: 1;
}
}

header .g_nav ul{
display: flex;
justify-content: center;
align-items: center;
margin: 0;
padding: 0;
flex: 1;
}

#fixed_header .g_nav ul{
display: flex;
justify-content: flex-end;
align-items: center;
margin: 0;
padding: 0;
flex: 1;
}


header .g_nav ul li{
list-style: none;
margin-left: 2em;
}

#fixed_header .g_nav ul li{
list-style: none;
margin-left: 1.5em;
}

header .g_nav ul li a{
font-size: clamp(10px, 1.2vw, 14px);
font-weight: 500;
color: #000;
text-decoration: none;
white-space: nowrap;
position: relative;
}

#fixed_header .g_nav ul li a{
font-size: clamp(10px, 1vw, 14px);
font-weight: 500;
color: #000;
text-decoration: none;
white-space: nowrap;
position: relative;
}

header .g_nav ul li a::after,
#fixed_header .g_nav ul li a::after{
  background-color: #049098;
  bottom: -6px; 
  content: ""; 
  height: 3px;
  left: 0;
  position: absolute;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
  width: 100%;
}

header .g_nav ul li a:hover::after,
#fixed_header .g_nav ul li a:hover::after{
  transform: scale(1, 1);
}

header .g_nav .menu_btn{
width: 48px;
height: 48px;
background: #29353D;
cursor: pointer;
border-radius: 8px;
margin-left: 2em;
position: relative;
}

#fixed_header .menu_btn{
width: 48px;
height: 48px;
background: #29353D;
cursor: pointer;
border-radius: 8px;
margin-left: 7px;
position: relative;
}

.menu_btn{
transition: opacity .3s;
}

.menu_btn:hover{
opacity: 0.5;
}

header .g_nav .menu_btn span,
#fixed_header .menu_btn span{
    width: 20px;
    height: 3px;
    background-color: #fff;
    position: absolute;
    top: 48%;
    left: 50%;
    transform: translateX(-50%);
    transition: .7s;
}

header .g_nav .menu_btn span:nth-of-type(1),
#fixed_header .menu_btn span:nth-of-type(1){
    transform: translate(-50%,-8px);
}

header .g_nav .menu_btn span:nth-of-type(3),
#fixed_header .menu_btn span:nth-of-type(3){
    transform: translate(-50%,8px);
}


#drawer{
display: flex;
justify-content:flex-start;
align-items: center;
flex-direction: column;
position: fixed;
background: linear-gradient(rgba(3,144,153,0.95),rgba(0,87,170,0.95));
top: 0;
left: 0;
width: 100%;
height: 100vh;
opacity: 0;
visibility: hidden;
transition: opacity 0.5s, visibility 0.5s, height 0.5s;
overflow-y: scroll;
-webkit-overflow-scrolling: touch;
z-index: 2002;
text-align:center;
box-sizing:border-box;
padding:25px;
}


#drawer.open{
opacity: 1;
visibility: visible;
height: 100%;
}

#close_btn {
display:block;
width: 30px;
height: 30px;
position: absolute;
right:18px;
top:18px;
cursor: pointer;
opacity:0;
}

#drawer.open #close_btn{
opacity:1;
}

#close_btn span::before,
#close_btn span::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 34px;
  height: 3px;
  background: #fff;
-webkit-transition:all 0.4s;
transition:all 0.4s;
-webkit-transition-delay:0.4s;
transition-delay:0.4s;
}


#close_btn.open span::before{
transform: rotate(-45deg);
}

#close_btn.open span::after{
transform: rotate(45deg);
}

.scroll-prevent {
position: fixed;
}

.drawer_logo{
width: 220px;
display: block;
margin: 0 auto;
}

.drawer_logo a,
.drawer_logo a img{
display: block
}

.mega_menu{
display: flex;
justify-content: space-between;
width: calc(100% - 30px);
max-width: 1280px;
margin: 0 auto;
box-sizing: border-box;
margin: 30px 15px 0 15px;
border-top:1px solid #fff;
}

.mega_menu div{
margin-left: 1em;
min-width: 170px;
}

.mega_menu div:first-child{
margin-left: 0;
}

.mega_menu a{
text-decoration: none;
color: #fff;
font-weight: normal;
}

.mega_menu ul{
padding: 0;
margin: 0;
list-style: none;
text-align: left;
}

.mega_menu ul li{
margin-top: 2em;
}

.mega_menu ul li.dir2 a{
font-size:clamp(10px, 1.6vw, 20px);
}

.mega_menu ul li.dir2 ul li.dir3{

}

.mega_menu ul li.dir2 ul li.dir3 a{
font-size:clamp(10px, 1.2vw, 14px);
}


.mega_menu [hidden] { display: none !important; }

.mega_menu .drawer_toggle_menu { display: none; }
/*.mega_menu .dir2 > ul { display: block; }*/


#drawer .btn_link,
footer .btn_link{
margin-top: 70px;
}


#drawer .btn_link ul,
footer .btn_link ul{
display: flex;
justify-content: flex-end;
margin: 0;
padding: 0;
}

#drawer .btn_link ul li,
footer .btn_link ul li{
list-style: none;
margin-left: 7px;
}

#drawer .btn_link ul li:first-child,
footer .btn_link ul li:first-child{
margin-left: 0px;
}

#drawer .btn_link ul li a,
footer .btn_link ul li a{
display: flex;
justify-content: center;
align-items: center;
position: relative;
color: #0057AA;
background: #fff;
text-decoration: none;
font-size: 14px;
font-weight: 500;
width: 180px;
box-sizing: border-box;
padding-right: 4px;
height: 54px;
border-radius: 8px;
box-shadow: 2px 1px 6px 1px rgba(0, 0, 0, 0.1);
}


#drawer .btn_link ul li a::before,
footer .btn_link ul li a::before{
  content: '';
  width: 8px;
  height: 8px;
  border-top: solid 2px #0057AA;
  border-right: solid 2px #0057AA;
  position: absolute;
  right: 12px;
  top: calc(50% - 4px);
transform: rotate(45deg);
}

#drawer .ban_link,
footer .ban_link{
margin-top: 20px;
}


#drawer .ban_link ul,
footer .ban_link ul{
margin: 0;
padding: 0;
}

#drawer .ban_link ul li,
footer .ban_link ul li{
list-style: none;
margin-top: 7px;
}

.footer_text_link{
text-align: center;
margin-top: 40px;
}

.footer_text_link ul{
display: inline-block;
}

.footer_text_link li{
list-style: none;
border-left: 1px solid #fff;
padding-left: 1em;
margin-left: 1em;
line-height: 1em;
display: inline-block;
}

.footer_text_link li:first-child{
border-left: none;
padding-left: 0;
margin-left: 0;
}

.footer_text_link a{
text-decoration: none;
color: #fff;
font-size: 14px;
}

footer{
width: 100%;
background: linear-gradient(rgba(3,144,153,1),rgba(0,87,170,1));
display: flex;
align-items: center;
flex-direction: column;
width: 100%;
box-sizing:border-box;
padding:25px;
}

footer p.copyright{
font-size: 12px;
color: #fff;
margin-top: 30px;
}


.content_wrap{
position: relative;
box-sizing: border-box;
/*max-width: 1280px;*/
margin: 0 auto;
}

.content_wrap.white{
background: #fff;
}

.content_wrap.gray{
background: #f5f5f5;
}
.content_wrap.grad{
background: linear-gradient(90deg, #039099 0%, #0057AA 100%);
}

.btn_layout_00{
display: flex;
flex-wrap: wrap;
justify-content: center;
}

.btn_layout_00 li{
list-style: none;
width: 573px;
margin-top: 30px;
}

.btn_layout_01{
display: flex;
flex-wrap: wrap;
}

.btn_layout_01.justify-center{
justify-content: center;
}

.btn_layout_01 li{
list-style: none;
width: calc(50% - 15px);
margin-left: 30px;
margin-top: 30px;
}

.btn_layout_01 li:nth-child(odd){
margin-left: 0px;
}

.btn_layout_02{
display: flex;
flex-wrap: wrap;
}

.btn_layout_02.justify-center{
justify-content: center;
}

.btn_layout_02 li{
list-style: none;
width: calc(33% - 23px);
margin-left: 30px;
margin-top: 30px;
}

.btn_layout_02 li:nth-child(3n+1){
margin-left: 0px;
}

.btn_layout_03{
display: flex;
flex-wrap: wrap;
}

.btn_layout_03.justify-center{
justify-content: center;
}

.btn_layout_03 li{
list-style: none;
width: 100%;
margin-bottom: 15px;
}



.thumb_btn_01{
display: flex;
color: #000;
font-weight: normal;
font-size:22px;
line-height: 1.4;
text-decoration: none;
background: #EBEBEB;
position: relative;
min-height: 160px;
height: 100%;
width: 100%;
align-items: center;
box-sizing: border-box;
padding: 0 20px 0 0;
border-radius: 14px;
border: 1px solid #DEDEDE;
	overflow: hidden;
}

.thumb_btn_01.mid{
min-height: 140px;
font-size:22px;
}

.thumb_btn_01.sml{
min-height: 100px;
font-size:20px;
}

.thumb_btn_01.white{
background: #fff;
}

.thumb_btn_01 .icon{
	overflow: hidden;
	width: 160px;
}

.thumb_btn_01 .icon img{
display: block;
line-height: 0;
height: 100%;
	object-fit: cover;
  transition: transform .5s ease;
}

.thumb_btn_01:hover .icon img{
transform: scale(1.1);
}

.thumb_btn_01 .headline{
flex: 1;
position: relative;
box-sizing: border-box;
padding-left: 20px;
}

.thumb_btn_01 .headline .eng{
	color: #0057AA;
	margin-right: 0.5em;
}

.thumb_btn_01.sml .headline{
}

.thumb_btn_01 .headline::before{
content: '';
position: absolute;
  right: 0;
  top: calc(50% - 17px);
box-sizing: border-box;
width: 34px;
height: 34px;
border: 2px solid #0057AA;
-webkit-border-radius: 50%;
border-radius: 50%;
}


.thumb_btn_01 .headline::after{
content: '';
  width: 8px;
  height: 8px;
  border-top: solid 2px #0057AA;
  border-right: solid 2px #0057AA;
  position: absolute;
  right: 13px;
  top: calc(50% - 4px);
transform: rotate(45deg);
}

.thumb_btn_01.page_anc .headline::after{
top: calc(50% - 6px);
right: 12px;
transform: rotate(135deg);
}




.thumb_btn_02{
display: flex;
flex-direction: column;
color: #000;
font-weight: normal;
font-size:22px;
line-height: 1.4;
text-decoration: none;
background: #fff;
position: relative;
width: 100%;
height: 100%;
align-items: center;
box-sizing: border-box;
border-radius: 14px;
border: 1px solid #DEDEDE;
	overflow: hidden;
}




.thumb_btn_02 .thumb{
width: 100%;
overflow: hidden;
aspect-ratio: 16 / 8;
position: relative;
box-sizing: border-box;
display: block;
padding: 0;
margin: 0;
}

.thumb_btn_02 .thumb img{
display: block;
line-height: 0;
height: 100%;
	object-fit: cover;
  transition: transform .5s ease;
}

.thumb_btn_02:hover .thumb img{
transform: scale(1.1);
}

div.thumb_btn_02:hover .thumb img{
transform:none;
}


.thumb_btn_02 .thumb::after{
content: '';
position: absolute;
width: 100%;
height: 100%;
top:0;
left: 0;
background: linear-gradient(160deg, rgba(3,144,153,0), rgba(3,144,153,0), rgba(3,144,153,0.1), rgba(3,144,153,0.5), rgba(0,87,170,0.5));
}




.thumb_btn_02 .headline{
width: 100%;
position: relative;
box-sizing: border-box;
min-height: 76px;
padding: 20px;
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
}



.thumb_btn_02 .headline.long{
font-size:20px;
}

.thumb_btn_02 .headline::before{
content: '';
position: absolute;
  right: 15px;
  top: calc(50% - 17px);
box-sizing: border-box;
width: 34px;
height: 34px;
border: 2px solid #0057AA;
-webkit-border-radius: 50%;
border-radius: 50%;
}


.thumb_btn_02 .headline::after{
content: '';
  width: 8px;
  height: 8px;
  border-top: solid 2px #0057AA;
  border-right: solid 2px #0057AA;
  position: absolute;
  right: 28px;
  top: calc(50% - 4px);
transform: rotate(45deg);
}

div.thumb_btn_02 .headline::before,
div.thumb_btn_02 .headline::after{
content: none;
}


.thumb_btn_02 .headline .sub_title{
color: #262626;
font-size: 16px;
font-weight: normal;
margin-bottom: 0.2em;
}


.btn_detail{
display: inline-block;
padding-right: 1.8em;
font-size: 24px;
font-weight: normal;
text-decoration: none;
color: #000;
position: relative;
}

.btn_detail.white{
color: #fff;
}

.btn_detail::before{
content: '';
position: absolute;
  right: 0;
  top: calc(50% - 17px);
box-sizing: border-box;
width: 34px;
height: 34px;
border: 2px solid #0057AA;
-webkit-border-radius: 50%;
border-radius: 50%;
}


.btn_detail::after{
content: '';
  width: 8px;
  height: 8px;
  border-top: solid 2px #0057AA;
  border-right: solid 2px #0057AA;
  position: absolute;
  right: 13px;
  top: calc(50% - 4px);
transform: rotate(45deg);
}

.btn_detail.white::before{
border: 2px solid #fff;
}

.btn_detail.white::after{
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}



.breadcrumbs{
max-width: calc(1280px + 60px);
padding: 1.4em 30px;
box-sizing: border-box;
text-align: right;
margin: 0 auto;
overflow-x: scroll;
position: relative;
z-index: 1999;
width: 100%;
}

.breadcrumbs::-webkit-scrollbar {
    display: none;
  }

.breadcrumbs ul{
white-space: nowrap;
position: relative;

}

.breadcrumbs ul li{
list-style: none;
display: inline-block;
padding-left: 1.2em;
position: relative;
white-space: nowrap;
}

.breadcrumbs ul li:after{
content: '';
  width: 7px;
  height: 7px;
  border-top: solid 1px #000;
  border-right: solid 1px #000;
  position: absolute;
  left: 0.1em;
  top: calc(50% - 2px);
  transform: rotate(45deg);
}

.breadcrumbs.white ul li:after{
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
}

.breadcrumbs ul li:first-child::after{
content: '';
position: absolute;
display: block;
top: 1px;
left: -2px;
width: 16px;
height: 16px;
border-top: none;
  border-right: none;
background-image: url("/assets/images/common/icon_breadcrumbs.png");
background-size: 100% auto;
background-position: center center;
background-repeat: no-repeat;
transform: rotate(0deg);
}

.breadcrumbs.white ul li:first-child::after{
background-image: url("/assets/images/common/icon_breadcrumbs_w.png");
}

.breadcrumbs ul li a{
color: #000;
text-decoration: none;
position: relative;
font-size: 12px;
white-space: nowrap;
}

.breadcrumbs.white ul li a{
color: #fff;
}

.breadcrumbs ul li a.current{
font-weight: normal;
}

.page_title_area{
max-width:calc(976px + 60px);
padding: 90px 30px 50px 30px;
box-sizing: border-box;
margin: 0 auto;
}

.page_title_area .sub_title{
text-align: center;
font-size: 26px;
font-weight: normal;
position: relative;
margin-bottom: 0.2em;
line-height: 1.4;
}

.page_title_area h1.page_title{
text-align: center;
font-size: 44px;
font-weight: normal;
position: relative;
margin-bottom: 2.5em;
line-height: 1.4;
}

.page_title_area h1.page_title::after{
content:"";
width: 180px;
height: 3px;
background: #0057AA;
position: absolute;
bottom: -30px;
left: calc(50% - 90px);
}

.page_title_area .page_leadcopy{
font-size: 18px;
line-height: 1.8;
}

.page_title_area .page_leadcopy.align_center{
text-align: center;
}

.content_976{
max-width:calc(976px + 60px);
padding: 0 30px 150px 30px;
box-sizing: border-box;
margin: 0 auto;
}


.next_contents_area{

}

.next_contents_area .text_wrap{
padding: 110px 30px;
box-sizing: border-box;
}

.next_contents_area .text_wrap p{
position: relative;
font-size:clamp(18px, 2.2vw, 24px);
font-weight: normal;
text-align: center;
}

.next_contents_area .text_wrap p::after{
content: '';
  width: 12px;
  height: 12px;
  border-top: solid 2px #000;
  border-right: solid 2px #000;
  position: absolute;
  left: calc(50% - 6px);
  bottom: -36px;
transform: rotate(135deg);
}


.next_link_area{
width: 100%;
height: 400px;
position: relative;
}

.next_link_area .text_wrap{
width: 100%;
height: 100%;
box-sizing: border-box;

position: relative;
}

.next_link_area a{
position: relative;
display: block;
width: 100%;
height: 100%;
text-decoration: none;
color: #fff;
}

.next_link_area a .text_area{
z-index: 1;
display: flex;
position: absolute;
top:0;
left: 0;
background: linear-gradient(160deg, rgba(0,0,0,0.5), rgba(0,0,0,0.5));
height: 100%;
width: 100%;
box-sizing: border-box;
flex-direction:column;
justify-content:center;
align-items: center;
padding: 0 30px;
}


.next_link_area a .bg{
position: relative;
overflow: hidden;
width: 100%;
height: 100%;
}

.next_link_area a .bg img{
  width: 100%; 
  height: 100%; 
  object-fit: cover; 
 transition: transform .5s ease;
}

.next_link_area a:hover .bg img{
transform: scale(1.1);
}


.next_link_area .sub_title{
font-size:clamp(16px, 2.2vw, 24px);
margin-bottom: 1em;
	text-align: center;
	line-height: 1.4;
}


.next_link_area .main_title{
font-size:clamp(24px, 4vw, 42px);
font-weight: normal;
position: relative;
padding-right: 1.1em;
line-height: 1.4;
text-align: center;
}


.next_link_area .main_title:before{
content: '';
position: absolute;
  right: 0;
  top: calc(50% - 17px);
box-sizing: border-box;
width: 34px;
height: 34px;
border: 2px solid #fff;
-webkit-border-radius: 50%;
border-radius: 50%;
}

.next_link_area .main_title:after{
content: '';
  width: 8px;
  height: 8px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  right: 13px;
  top: calc(50% - 4px);
transform: rotate(45deg);
}

.bg_interview{
position: relative;
width: 100%;
height: 840px;
}

.bg_interview .bg_wrap{
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
display: flex;
}

.bg_interview .bg_wrap .kimg{
width: 100%;
height: 100%;
overflow: hidden;
}

.bg_interview .bg_wrap .kimg img{
object-fit: cover;
width: 100%;
height: 100%;
}

.bg_interview .bg_wrap .bg{
width: 100%;
height: 100%;
background-image: url("/assets/images/common/bg_interview.jpg");
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
}


h2.two_lang{
margin-bottom: 2em;
}

h2.two_lang.white{
color: #fff;
}

h2.two_lang span.eng{
font-size:20px;
font-weight: 500;
font-family:'Jost', sans-serif;
display: block;
margin-bottom: 0.8em;
}

h2.two_lang span.jpn{
font-size:32px;
font-weight: normal;
border-bottom: 3px solid #0057AA;
  display: inline-block;
  padding-bottom: 0.5em;
}

h2.two_lang.white span.jpn{
border-bottom: 3px solid #fff;
}


ul.member_list{
display: flex;
flex-wrap: wrap;
justify-content: space-around;
list-style: none;
}

ul.member_list li{
width: 174px;
margin-top: 1em;
}

ul.member_list li .image{
aspect-ratio: 1 / 1;
overflow: hidden;
border-radius: 50%;
width: 100%;
}

ul.member_list li .text{

}

ul.member_list li .text .name{
font-size:clamp(18px, 3vw, 24px);
font-weight: normal;
text-align: center;
margin-top: 0.5em;
}

ul.member_list li .text .year{
font-size:clamp(12px, 2vw, 16px);
color: #666;
margin-top: 0.8em;
line-height: 1.4;
}

ul.member_list li .text .description{
font-size:clamp(12px, 2vw, 14px);
margin-top: 0.5em;
line-height: 1.6;
}

ul.member_list li .text .description.align_center{
text-align: center;
}


dl.dialogue{
display: flex;
margin-top: 3em;
}

dl.dialogue:first-child{
margin-top: 0em;
}

dl.dialogue dt{
width: 100px;
}

dl.dialogue dt .image{
aspect-ratio: 1 / 1;
overflow: hidden;
border-radius: 50%;
width: 100%;
display: block;
}

dl.dialogue dt .text{
display: block;
}

dl.dialogue dt .text .name{
font-size:clamp(12px, 2vw, 20px);
font-weight: normal;
text-align: center;
line-height: 1.8;
}

dl.dialogue dd{
box-sizing: border-box;
padding-left: 40px;
flex: 1;
}

dl.dialogue dd p{
margin-top: 1em;
font-size:clamp(14px, 2.4vw, 18px);
line-height: 1.8;
}

dl.dialogue dd p:first-child{
margin-top: 0;
}

.page_anc_wrap{
padding: 0 30px 80px 30px;
max-width:calc(976px + 60px);
box-sizing: border-box;
margin: 0 auto;
}


.toggle_title{
font-weight: normal;
line-height: 1.4;
cursor: pointer;
position: relative;
text-align: left;
padding: 18px 15px 18px 20px;
display: flex;
align-items: center;
justify-content:space-between;
color: #fff;
background: linear-gradient(90deg, #039099 0%, #0057AA 100%);
font-size:clamp(16px, 2.8vw, 22px);
}

.toggle_title > h2,
.toggle_title > h3,
.toggle_title > p{
	max-width: calc(100% - 40px);
	font-weight: normal;
}

.toggle_title .eng{
	font-size:clamp(12px, 2.4vw, 21px);
	margin-right: 0.5em;
}

.toggle_title .toggle_icon {
    display: inline-grid;
    place-items: center;
    width: 32px;
  height: 32px;
border: 2px solid #fff;
  border-radius: 50%;
position: relative;
  }

.toggle_title .toggle_icon > span {
  width: 52%;
  height: 2px;
  background: #fff;
  border-radius: 0.1em;
  position: relative;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.toggle_title .toggle_icon > span::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  transform: rotate(90deg);
}

.toggle_title.active .toggle_icon > span::before {
  display: none;
}


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

SP

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



@media screen and (max-width: 976px) {
	
.back_btn_wrap {
	min-width:initial;
	width: 100%;
}
	
.submit_btn_wrap {
	min-width:initial;
	width: 100%;
}

.sp {
    display: block;
  }

  .pc {
    display: none;
  }

.header_bg{
padding-bottom: 0;
}

.slick-slide {
    margin:0 6px;
}


.slick-slider{
padding-bottom: 80px;
}

.slick__prev,
.slick__next {
  width: 40px;
  height: 40px;
}

.slick__prev {
  left: 20px;
}

.slick__next {
  left: 72px;
}


main{
padding-top: 62px;
box-sizing: border-box;
width: 100%;
position: relative;
}

#fixed_header{
display: none;
}

header{
display: flex;
align-items: center;
margin: 0 auto;
justify-content: space-between;
position: fixed;
top:0;
left: 0;
width: 100%;
box-sizing: border-box;
padding: 0;
}

header .logo_header{
display: none;
}

header .g_menu{
width: 100%;
box-sizing: border-box;
}

header .btn_link{
display: none;
}

header .logo_header_sp{
width: 180px;
margin: 0 16px 0 0;
padding: 0;
display: block;
}


header .logo_header_sp a{
display: block;
}

header .logo_header_sp a img{
display: block;
}



header .g_nav{
display: flex;
background: #fff;
border-radius: 0;
box-shadow: 2px 1px 6px 1px rgba(0, 0, 0, 0.2);
padding: 7px;
margin-top: 0;
width: 100%;
justify-content: space-between;
align-items: center;
box-sizing: border-box;
}

header .g_nav ul{
display: none;
}

.drawer_logo{
width: 220px;
display: block;
margin: 0 auto 0 0;
}

footer .drawer_logo{
width: 220px;
display: block;
margin: 0 auto;
}


#drawer{

justify-content:flex-start;
}

.mega_menu{
display: flex;
flex-direction: column;
justify-content: space-between;
width: 100%;
margin: 0 auto;
box-sizing: border-box;
margin: 20px 0 0 0;
border-top:1px dashed #fff;
}

footer .mega_menu{
display: flex;
flex-direction: column;
justify-content: space-between;
width: 100%;
margin: 0 auto;
box-sizing: border-box;
margin: 20px 0 0 0;
border-top:1px solid #fff;
}

.mega_menu div{
margin-left: 0;
min-width:0;
}

  .mega_menu .drawer_toggle_menu {
    display: inline-grid;
    place-items: center;
    width: 1.5rem; 
  height: 1.5rem;
    cursor: pointer;
    position: absolute;
right: .5em;
top: .8em;
    z-index: 2;
border: 2px solid #fff;
  border-radius: 50%;
  }
.mega_menu .drawer_toggle_menu > span {
  width: 52%;
  height: 2px;
  background: #fff;
  border-radius: 0.1em;
  position: relative;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.mega_menu .drawer_toggle_menu > span::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  transform: rotate(90deg);
}

.mega_menu .dir2.open .drawer_toggle_menu > span::before {
  display: none;
}

  .mega_menu .dir2 { position: relative; }
  .mega_menu .dir2 > a { display: block; padding-right: 2.5rem; }

.mega_menu ul li{
margin: 0;
padding: 1.2em 0;
}

footer .mega_menu ul li{
margin: 0;
padding: 1.5em 0 0 0;
}

.mega_menu ul li.dir2{
border-bottom:1px dashed #fff;
}

footer .mega_menu ul li.dir2{
border-bottom:none;
}

.mega_menu ul li.dir2 ul{
margin-top: 0.3em;
margin-bottom: 0.9em;
}

footer .mega_menu ul li.dir2 ul{
margin-top: 0.2em;
margin-bottom: 0;
}

.mega_menu ul li.dir2 a{
font-size:16px;
display: inline-block;
}

.mega_menu ul li.dir2 ul li.dir3{
padding: 1em 0 0 0;
}

footer .mega_menu ul li.dir2 ul li.dir3{
padding: 1em 0 0 1em;
}

.mega_menu ul li.dir2 ul li.dir3 a{
font-size:12px;
display: inline-block;
}

#drawer .btn_link{
margin-top: 30px;
width: 100%;
}

footer .btn_link{
margin-top: 30px;
width: 100%;
}


#drawer .btn_link ul,
footer .btn_link ul{
width: 100%;
}

#drawer .btn_link ul li,
footer .btn_link ul li{
margin-left: 10px;
width: 48%
}

#drawer .btn_link ul li:first-child,
footer .btn_link ul li:first-child{
margin-left: 0px;
}

#drawer .btn_link ul li a,
footer .btn_link ul li a{
font-size: 14px;
width: 100%;
}

.footer_text_link li{
list-style: none;
border-left: none;
padding-left: 0;
margin-left: 0;
margin-bottom: 0.5em;
display: block;
}
	
	
.btn_layout_00 li{
width: 100%;
}

.btn_layout_01{
flex-direction: column;
}

.btn_layout_01.column2{
flex-direction:row;
	justify-content: space-between;
}
	
.btn_layout_01 li{
width: 100%;
margin-left: 0;
margin-top: 15px;
}
	
.btn_layout_01.column2 li{
list-style: none;
width: calc(50% - 7.5px);
margin-top: 15px;
}
	
.btn_layout_01.column2.compress li{
width: calc(50% - 3.5px);
margin-top: 7px;
}
	
.btn_layout_01.compress li{
margin-top: 7px;
}

.btn_layout_02{
display: flex;
flex-wrap: wrap;
}

.btn_layout_02.justify-center{
justify-content: center;
}

.btn_layout_02 li{
width: calc(50% - 3.5px);
margin-left: 7px;
margin-top: 7px;
}

.btn_layout_02 li:nth-child(3n+1){
margin-left: 7px;
margin-top: 7px;
}

.btn_layout_02 li:nth-child(2n+1){
margin-left: 0px;
}
	
.btn_layout_03 li{
margin-bottom: 10px;
}


.thumb_btn_01{
display: flex;
font-size:clamp(17px, 4vw, 100px);
line-height: 1.4;
min-height: 110px;
padding: 0 15px 0 0;
}

.thumb_btn_01.mid{
font-size:clamp(14px, 2.6vw, 100px);
min-height: 70px;
}

.thumb_btn_01.sml{
min-height: 50px;
padding: 10px;
font-size:clamp(11px, 2vw, 100px);
}

.thumb_btn_01 .icon{
width: 33%;
	height: 100%;
position: relative;
box-sizing: border-box;
}

.thumb_btn_01 .headline{
flex: 1;
position: relative;
box-sizing: border-box;
padding-left: 1em;
}

.thumb_btn_01 .headline::before{
content: '';
position: absolute;
  right: 0;
  top: calc(50% - 12px);
box-sizing: border-box;
width: 24px;
height: 24px;
border: 2px solid #0057AA;
-webkit-border-radius: 50%;
border-radius: 50%;
}


.thumb_btn_01 .headline::after{
content: '';
  width: 5px;
  height: 5px;
  border-top: solid 2px #0057AA;
  border-right: solid 2px #0057AA;
  position: absolute;
  right: 9px;
  top: calc(50% - 3px);
transform: rotate(45deg);
}

.thumb_btn_01.page_anc .headline::before{
  right: 0;
  top: calc(50% - 12px);
}

.thumb_btn_01.page_anc .headline::after{
top: calc(50% - 5px);
right: 8px;
transform: rotate(135deg);
}



.btn_detail{
font-size:clamp(16px, 3vw, 100px);
}

.btn_detail.white{
color: #fff;
}

.btn_detail::before{
content: '';
position: absolute;
  right: 0;
  top: calc(50% - 12px);
box-sizing: border-box;
width: 24px;
height: 24px;
border: 2px solid #0057AA;
-webkit-border-radius: 50%;
border-radius: 50%;
}


.btn_detail::after{
content: '';
  width: 5px;
  height: 5px;
  border-top: solid 2px #0057AA;
  border-right: solid 2px #0057AA;
  position: absolute;
  right: 9px;
  top: calc(50% - 3px);
transform: rotate(45deg);
}


.thumb_btn_02{
font-size:clamp(15px, 3vw, 100px);
}

.thumb_btn_02 .headline{
min-height: 56px;
padding: 16px;
}

.thumb_btn_02 .headline.long{
font-size:clamp(13px, 3vw, 100px);
}

.thumb_btn_02 .headline::before{
content: '';
position: absolute;
  right: 15px;
  top: calc(50% - 12px);
box-sizing: border-box;
width: 24px;
height: 24px;
border: 2px solid #0057AA;
-webkit-border-radius: 50%;
border-radius: 50%;
}


.thumb_btn_02 .headline::after{
content: '';
  width: 5px;
  height: 5px;
  border-top: solid 2px #0057AA;
  border-right: solid 2px #0057AA;
  position: absolute;
  right: 24px;
  top: calc(50% - 3px);
transform: rotate(45deg);
}

.thumb_btn_02 .headline .sub_title{
font-size:clamp(12px, 2vw, 100px);
}


.breadcrumbs{
text-align: left;
padding: 1em 1em;
}

.breadcrumbs ul{
white-space: nowrap;

}

.breadcrumbs ul li{
padding-left: 1em;
}

.breadcrumbs ul li:after{
  width: 5px;
  height: 5px;
  top: calc(50% - 0px);
}

.breadcrumbs ul li:first-child::after{
top: calc(50% - 3px);
width: 12px;
height: 12px;
}

.breadcrumbs ul li a{
font-size: 10px;
}

.breadcrumbs ul li a.current{
font-weight: normal;
}

.page_title_area{
padding: 50px 15px 20px 15px;
}

.page_title_area .sub_title{
font-size:clamp(14px, 2.4vw, 100px);
}

.page_title_area h1.page_title{
font-size:clamp(24px, 4vw, 100px);
margin-bottom: 2.5em;
line-height: 1.4;
}

.page_title_area h1.page_title::after{
width: 96px;
bottom: -15px;
left: calc(50% - 48px);
}

.page_title_area .page_leadcopy{
font-size: 15px;
}
.page_title_area .page_leadcopy.align_center{
text-align: left;
}

.content_976{
padding: 0 15px 50px 15px;
}

.next_contents_area{

}

.next_contents_area .text_wrap{
padding: 50px 15px 60px 15px;
box-sizing: border-box;
}

.next_contents_area .text_wrap p{
position: relative;
font-size:clamp(18px, 2.2vw, 24px);
font-weight: normal;
text-align: center;
}

.next_contents_area .text_wrap p::after{
content: '';
  width: 12px;
  height: 12px;
  border-top: solid 2px #000;
  border-right: solid 2px #000;
  position: absolute;
  left: calc(50% - 6px);
  bottom: -24px;
transform: rotate(135deg);
}


.next_link_area{
width: 100%;
height: 270px;
position: relative;
}

.next_link_area .text_wrap{
width: 100%;
height: 100%;
box-sizing: border-box;

position: relative;
}

.next_link_area a{
position: relative;
display: block;
width: 100%;
height: 100%;
text-decoration: none;
color: #fff;
}

.next_link_area a .text_area{
padding: 0 15px;
}


.next_link_area a .text_area:before{
content: '';
position: absolute;
  left: calc(50% - 12px);
  bottom: 25px;
box-sizing: border-box;
width: 24px;
height: 24px;
border: 2px solid #fff;
-webkit-border-radius: 50%;
border-radius: 50%;
}

.next_link_area a .text_area:after{
content: '';
  width: 6px;
  height: 6px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  left: calc(50% - 6px);
  bottom: 33px;
transform: rotate(45deg);
}

.next_link_area a .bg{
position: relative;
overflow: hidden;
width: 100%;
height: 100%;
}

.next_link_area a .bg img{
  width: 100%; 
  height: 100%; 
  object-fit: cover; 
 transition: transform .5s ease;
}

.next_link_area a:hover .bg img{
transform: scale(1.1);
}


.next_link_area .sub_title{
font-size:clamp(16px, 2.2vw, 24px);
margin-bottom: 1em;

}


.next_link_area .main_title{
font-size:clamp(24px, 4vw, 42px);
font-weight: normal;
position: relative;
padding-right: 0;
padding-bottom: 1em;
}


.next_link_area .main_title:before{
display: none;
}

.next_link_area .main_title:after{
display: none;
}


.bg_interview{
position: relative;
display: block;
width: 100%;
height:auto;
}

.bg_interview .bg_wrap{
width: 100%;
height: auto;
position: relative;
left: 0;
top: 0;
display: block;
}

.bg_interview .bg_wrap .kimg{
width: 100%;
height: 100%;
overflow: hidden;
aspect-ratio: 1 / 1;
display: block;
}

.bg_interview .bg_wrap .kimg img{
object-fit: cover;
width: 100%;
height: 100%;
}

.bg_interview .bg_wrap .bg{
display: block;
width: 100%;
height: 100%;
background-image: url("/assets/images/common/bg_interview.jpg");
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
}

h2.two_lang{
margin-bottom: 2em;
text-align: center;
}

h2.two_lang span.eng{
font-size:clamp(16px, 3vw, 100px);
}

h2.two_lang span.jpn{
font-size:clamp(24px, 4vw, 100px);
}


ul.member_list{
display: flex;
flex-wrap: wrap;
justify-content: space-around;
list-style: none;
}

ul.member_list li{
width: 40%;
margin-bottom: 2em;
}

dl.dialogue{
display: flex;
margin-top: 1.5em;
}

dl.dialogue:last-child{
margin-bottom: 0em;
}

dl.dialogue dt{
width: 60px;
}

dl.dialogue dt .image{
aspect-ratio: 1 / 1;
overflow: hidden;
border-radius: 50%;
width: 100%;
display: block;
}

dl.dialogue dt .text{
display: block;
}

dl.dialogue dt .text .name{
font-size:clamp(12px, 2vw, 25px);
font-weight: normal;
text-align: center;
margin-top: 0.5em;
}

dl.dialogue dd{
padding-left: 20px;
}

dl.dialogue dd p{
margin-top: 1em;
font-size:clamp(14px, 2.4vw, 18px);
line-height: 1.8;
}

dl.dialogue dd p:first-child{
margin-top: 0;
}

.page_anc_wrap{
padding: 0 15px 50px 15px;
}
	
.toggle_title .toggle_icon {
    width: 24px;
  height: 24px;
 }


}