@charset "UTF-8";
.iv,.ivo{
  opacity: 0;
}

.sp_rev,
.s_nav {
	display: none;
}

.sp__menu {
	background: var(--bkcolor01);
	position: fixed;
	width: 100vw;
	height: 100vh;
	z-index: 10;
	top: 0;
	left: 0;
	font-size: 1.25em;
	line-height: 1.5em;
	letter-spacing: 0.1em;
	z-index: 101;
	display: none;
	overflow: scroll;
}
.sp__menu .sp__menu__container {
	display: flex;
    margin: 12vh auto 0;
    height: 100vh;
/*     align-items: center; */
    justify-content: flex-end;
}
.sp__menu .sp__menu__container .c2 {
	display: flex;
    flex-wrap: wrap;
    width: 95%;
}
.sp__menu__container .rec_site_logo .rec_site {
    padding: 10px 14px;
    font-size: 1em;
    border: 1.5px solid #1a1a1a;
    text-align: center;
    line-height: 1em;
    font-weight: 600;
    margin: 14px 0;
}
.sp__menu .sp__menu__logo {
	position: fixed;
    top: 3rem;
    left: 3rem;
}
.sp__menu .sp__menu__logo a {
	padding: 0;
	margin: 0;
}
.sp__menu h5 {
    color: #fff;
    padding: 14px 0;
}
.sp__menu a {
	color: #1a1a1a;
	padding: 14px 0;
	display: block;
	position: relative;
	transition: all .3s;
}
.sp__menu a.__parent {
	padding: 0 0;
	margin-top: 24px;
}
.sp__menu a:hover {
	color: var(--themecolor02);
}
.rec_site_logo {
    width: 214px;
}
.sp__menu__nav {
    margin: 0 auto;
    width: calc(90% - 240px);
    margin-left: 10%;
}
.sp__menu__nav .sp__menu__contact {
	width: 32%;
	margin-left: 4%;
	container-type: inline-size;
}
.sp__menu__nav .sp__menu__contact .sp__menu_tel_mail {
	margin-left: 1em;
	margin-top: 14px;
}
.sp__menu__nav .sp__menu__contact .sp__menu_tel_mail img {
	filter: invert(100%) sepia(2%) saturate(0%) hue-rotate(244deg) brightness(104%) contrast(100%);
	height: 6cqw;
}
.sp__menu__nav .sp__menu__contact .sp__menu_tel_mail .sp__menu_mail {
	margin-top: 3vh;
	margin-bottom: 5vh;
}
.sp__menu__nav .sp__menu__contact .sp__menu_tel_mail .sp__menu_mail a {
    font-size: 10cqw;
	line-height: 1em;
	display: flex;
	align-items: center;
	padding: 7px 0;
}
.sp__menu__nav .sp__menu__contact .sp__menu_tel_mail .sp__menu_mail a .icon {
	height: 6cqw;
	margin-right: 14px;
}
.sp__menu__nav .sp__menu__contact .sp__menu_tel_mail .sp__menu_mail p,
.sp__menu__nav .sp__menu__contact .sp__menu_tel_mail .tel p {
    font-size: 16px;
    line-height: 1.5em;
}
.sp__menu__nav .sp__menu__contact .sp__menu_tel_mail .tel p.s_txt {
    font-size: 14px;
    line-height: 1.5em;
}
.sp__menu__nav .sp__menu__contact .sp__menu_tel_mail .tel a {
	font-size: 10cqw;
	line-height: 1em;
	display: flex;
	align-items: center;
	padding: 7px 0;
}
.sp__menu__nav .sp__menu__contact .sp__menu_tel_mail .tel a .icon {
	height: 5cqw;
	margin-right: 14px;
}
.sp__menu__nav .sp__menu__contact .sp__menu_tel_mail .tel a img {
	height: 5cqw;
}

.sp__menu__nav .sp__menu__ul {
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    font-weight: 600;
}
.sp__menu__nav .sp__menu__ul .parent_li {
	margin-top: 3vh;
	width: 45%;
}
.sp__menu__nav .sp__menu__ul .child_li {
	width: 100%;
	margin-top: 0;
	margin-left: 1em;
}
.sp__menu__nav .sp__menu__ul .child {
	margin-top: 14px;
}
.sp__menu__nav .sp__menu__ul .child_li a {
	border-bottom: 1px solid #f5f5f5;
	font-size: 0.9em;
	line-height: 1.5em;
	padding: 0px 0 10px 24px;
}
.sp__menu__nav .sp__menu__ul .child_li .sp__menu_child {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.sp__menu__nav .sp__menu__ul .child_li .sp__menu_child li {
	width: 28%;
/* 	border-bottom: 1px solid #fff; */
	margin-left: 4%;
}
.sp__menu .child_li a:before,
.sp__menu .parent_li a:before {
    content: '';
    width: 1em;
    height: 1px;
    background: #1a1a1a;
    position: absolute;
    left: 0;
    top: 50%;
}
.sp__menu .child_li a:before {
    content: '';
    width: 1em;
    height: 1px;
    background: #1a1a1a;
    position: absolute;
    left: 0;
    top: calc( 50% - 5px );
}
.sp__menu .child_li a,
.sp__menu .parent_li a {
    padding-left: 1.5em;
}
.sp__menu__nav .sp__menu__ul .child_li .sp__menu_child li {
	margin-top: 18px;
}
.sp__menu__nav .sp__menu__ul .child_li .poppins {
	padding-bottom: 0;
}
.sp__menu__nav .sp__menu__ul .child_li .sp__menu_child li .shop_detail {
	display: flex;
	align-items: center;
}
.sp__menu__nav .sp__menu__ul .child_li .sp__menu_child li .shop_detail .icon {
	width: 40px;
	margin-right: 10px;
}
.sp__menu__nav .sp__menu__ul .child_li .sp__menu_child li .shop_detail .tt {
	width: calc( 100% - 50px );
}
.sp__menu__nav .sp__menu__ul .child_li .sp__menu_child li .shop_btn_li {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.sp__menu__nav .sp__menu__ul .child_li .sp__menu_child li .shop_btn_li a {
	width: calc( 48% - 2px );
	font-size: 0.6em;
	line-height: 1em;
	display: flex;
	background: transparent;
	padding: 7px 0;
	border: 1px solid #fff;
}
.sp__menu__nav .sp__menu__ul .child_li .sp__menu_child li .shop_btn_li a:hover {
	background: #D3801E;
	color: #fff;
}
.sp__menu__container .sns_li {
    margin-top: 2vh;
    margin-bottom: 3vh;
    display: flex;
    justify-content: center;
    align-items: center;
}
.sp__menu__container .sns_li img {
	filter: invert(37%) sepia(71%) saturate(7305%) hue-rotate(148deg) brightness(99%) contrast(103%);
    transition: filter .3s ease-in-out;
}
.sp__menu__container .sns_li a:hover img {
	filter: invert(4%) sepia(95%) saturate(5745%) hue-rotate(244deg) brightness(60%) contrast(95%);
}
.sp__menu__container .sns_li li {
	margin: 0 1vw;
}

.sp__menu .f_rec_banner a .s_txt {
    font-size: 0.7em;
    line-height: 1.5em;
    display: block;
}

.sp__menu .f_rec_banner a {
	display: inline-flex;
	align-items: center;
	background: #fff;
	border-radius: 2px;
	transition: all 0.3s ease-in-out;
	color: #1a1a1a;
	overflow: hidden;
	font-size: 0.8em;
	line-height: 1em;
	padding: 7px 14px;
}
.sp__menu .f_rec_banner a:hover {
	color: var(--themecolor02);
}
.sp__menu .f_rec_banner a .txt {
	display: flex;
	align-items: center;
	padding: 0 44px 0 0;
	position: relative;
}
.sp__menu .f_rec_banner a .ttl {
	text-align: left;
	display: block;
	font-size: 1.35em;
	line-height: 1em;
	font-weight: 600;
}
.sp__menu .f_rec_banner a .ttl .en {
	font-family: "Josefin Sans", sans-serif;
	font-size: 0.7em;
	line-height: 1em;
	font-weight: 600;
	display: block;
	margin-top: 10px;
	color: var(--themecolor02);
}
.sp__menu .f_rec_banner a .txt .icon {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    transition: transform .2s;
}
.sp__menu .f_rec_banner a:hover .txt .icon {
	transform: translateY(-60%) rotate(45deg);
}
.sp__menu .f_rec_banner a .ph {
	max-width: 136px;
}

.sp__menu .f_banner_li {
	margin-top: 60px;
	display: flex;
	flex-wrap: wrap;
    width: 100%;
    justify-content: space-between;
}
.sp__menu .f_entry_banner a {
	display: block;
	font-size: 1.2em;
	line-height: 1em;
    font-weight: 600;
	padding: 20px;
	color: #fff;
	border-radius: 2px;
	background: var(--themecolor01);
	transition: all 0.3s ease-in-out;
	text-align: center;
}
.sp__menu .f_entry_banner a .en {
	font-family: "Josefin Sans", sans-serif;
	font-size: 0.7em;
	line-height: 1em;
	font-weight: 600;
	display: block;
	margin-top: 4px;
	text-align: center;
}
.sp__menu .f_entry_banner a:hover {
	background: var(--themecolor09);
}
.sp__menu .f_entry_banner {
	width: 43%;
}
.sp__menu .f_rec_banner {
	width: 55%;
	display: flex;
}

.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}

.body_bk {
    width: 100%;
    background: #fff;
    overflow-x: clip;
    position: absolute;
    top: 0;
    left: 0;
}

body {
	position: relative;
	line-height: 1.8em;
	font-family: 'Noto Sans JP', sans-serif;
	color: #1a1a1a;
}
.all {
    position: relative;
    z-index: 1;
}


#header ._in .nav li.menu__single ul.menu__second-level {
    position: absolute;
    top: 80px;
    left: -20px;
	width: 180px;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    visibility: hidden;
	opacity: 0;
	padding: 7px 12px;
	background: rgba(255, 255, 255, 0.9);
	justify-content: flex-start;
	border-radius: 4px;
	box-shadow: 0px 0px 12px 8px rgba(0,0,0,0.08);
}
#header ._in .nav li.menu__single {
	position: relative;
}
#header ._in .nav li.menu__single:hover ul.menu__second-level {
    top: 28px;
    visibility: visible;
    opacity: 1;
/*     display: inline-block; */
}
#header ._in .nav li.menu__single .menu__second-level li {
    font-size: 1em;
    margin: 0;
    border-top: var(--themecolor07) dashed 1px;
}
#header ._in .nav li.menu__single .menu__second-level li:first-of-type {
    border-top: 0;
}
#header ._in .nav li.menu__single .menu__second-level li a:before {
    display: none;
}
#header ._in .nav li.menu__single .menu__second-level li a {
	display: inline-block;
	padding: 14px 14px 14px 10px;
	transition: all .35;
}
#header ._in .nav li.menu__single .menu__second-level li a:hover {
	color: var(--themecolor02);
}
#header ._in .nav li.menu__single .menu__second-level li a .second_i {
	display: inline-block;
	color: #333;
	margin-right: 12px;
	font-weight: 300;
}
#header ._in .nav li.menu__single .menu__second-level li a::after {
  	bottom: 14px;
}


/* 固定ナビ */
#menuButton {
    display: block;
    width: 30px;
    height: 20px;
    position: relative;
    z-index: 3;
    cursor: pointer;
}
.sp_menu {
    width: 82px;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    top: 0;
    left: 0;
    z-index: 102;
    background: var(--themecolor08);
    transition: .35s;
}
.sp_menu:hover {
    background: var(--themecolor02);
}
.sp_menu h3 {
    text-align: center;
    line-height: 1em;
    font-size: 11px;
    color: #fff;
    margin-top: 4px;
}
#menuButton span {
    display: block;
    background: #fff;
    width: 30px;
    height: 1px;
    position: absolute;
    left: 0;
    transition: all 0.4s;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
}
#menuButton span:first-child {
    top: 0;
}
#menuButton.active span:first-child {
    top: 2px;
    background: #fff;
}
#menuButton span:nth-child(2) {
    top: 10px;
}
#menuButton span:last-child {
    bottom: 0;
}
#menuButton.active span:last-child {
    bottom: 2px;
    background: #fff;
}
#menuButton.active {

}
#menuButton.active span:first-child {
    -webkit-transform: translateY(8px) rotate(45deg);
    -moz-transform: translateY(8px) rotate(45deg);
    -ms-transform: translateY(8px) rotate(45deg);
    transform: translateY(8px) rotate(45deg);
}
#menuButton.active span:last-child {
    -webkit-transform: translateY(-8px) rotate(-45deg);
    -moz-transform: translateY(-8px) rotate(-45deg);
    -ms-transform: translateY(-8px) rotate(-45deg);
    transform: translateY(-8px) rotate(-45deg);
}
#menuButton.active span:nth-child(2) {
    opacity: 0;
}
.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  background: rgba(255, 255, 255, 0.9);
  text-align: center;
  transform: translateX(100%);
  transition: all 0.35s;
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.globalMenuSp div {
	width: 100vw;
	margin: auto;
}

.globalMenuSp .globalMenuSp_li {
  margin: 0 auto;
  padding: 0;
  font-family: 'Lato', sans-serif;
  font-size: 1.6em;
  line-height: 1em;
  display: inline-block;
}

.globalMenuSp .globalMenuSp_li li {
  list-style-type: none;
  padding: 0;
}
#header ._in .nav .globalMenuSp_li li .s_txt {
	text-align: left;
}
.globalMenuSp .globalMenuSp_li li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.globalMenuSp .globalMenuSp_li li a {
  display: inline-block;
  padding: 14px 0;
  text-decoration :none;
  transition: .35s;
  color: #1a1a1a;
  text-align: left;
}
.globalMenuSp .globalMenuSp_li li a:hover {
  color: #00653a;
}
.globalMenuSp ul li a::first-letter {
  color: #00653a;
}
.globalMenuSp .globalMenuSp_li li a .s_txt {
  	font-size: 0.5em;
    line-height: 1em;
    display: block;
    margin-top: 4px;
    font-weight: 400;
    text-align: left;
}
.globalMenuSp .globalMenuSp_li li a .s_txt:before {
  	content: '− ';
  	color: #00653a;
}

/* このクラスを、jQueryで付与・削除する */
.globalMenuSp.active {
  transform: translateX(0%);
}


/* メニューをhoverした時のスタイル */
.pc_rev {

}
.pc_rev:hover .pc_revMenu {
  opacity: 1;
  visibility: visible;
  top: 53px;
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, .2);
  border-top: 4px solid #ECE9DD;
}
.pc_revMenu {
    background-color: #fff;
    opacity: 0;
    position: absolute;
    text-align: center;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
    top: 80px;
}
.pc_revMenu-list {
    margin: 10px 18px 14px 18px;
}
.pc_revMenu-item {

}
#header ._in .nav .nav_ul li .pc_revMenu li {
	margin: 0;
}
#header ._in .nav .nav_ul li .pc_revMenu-item a {
  	font-size: 1em;
    padding: 14px;
    display: block;
    position: relative;
    padding-left: 1.5em;
}
.pc_revMenu-item a:before {
    content: '';
    width: 1em;
    height: 1px;
    background: #ECE9DD;
    position: absolute;
    left: 0;
    top: 50%;
}

.pc_br {
	display: block;
}
img.w100:not(.post img) {
	width: 100%;
}

#header {
	position: relative;
	z-index: 100;
}
#header.is-fixed {
	position: fixed;
	top: 0;
    left: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.9);
    transition: translateY 600ms, opacity 200ms;
}
/*
#header.is-fixed.hide{
  translateY: -100%;
  opacity: 0;
  z-index: 1;
}
*/
#header .h_navi {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	padding: 0 0 14px 14px;
	padding-left: 24px;
}
.h_navi .h_logo .h1 {
	font-size: 1.4em;
    line-height: 1em;
    container-type: inline-size;
    width: 26vw;
    max-width: 334px;
    padding-top: 10px;
}
.h_navi .h_logo .h1 img {
	width: 55cqw;
	transition: .35s;
}
.h_navi .h_logo a {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
}
.h_navi .h_logo a .en {
	color: #1a1a1a;
    font-family: "Josefin Sans", sans-serif;
    margin-left: 0.5em;
    margin-bottom: 3.5cqw;
    font-size: 7cqw;
    line-height: 1em;
}
#header .h_navi .nav {
	display: flex;
	align-items: center;
}
#header .h_navi .nav .nav_li {
	display: flex;
	margin-right: 0.5em;
	font-size: 1.05em;
	align-items: center;
}
#header .h_navi .nav .nav_li li {
	margin: 0 1.5em;
}
#header .h_navi .nav .nav_li li a {
	color: #1a1a1a;
	font-weight: 600;
	text-align: center;
	display: block;
    line-height: 1.35em;
    transition: .35s;
    cursor: pointer;
}
#header .h_navi .nav .nav_li li a:hover {
	color: var(--themecolor02);
}
#header .h_navi .nav_c3 {
	display: flex;
}
#header .h_navi .nav_c3 a .en {
	font-family: "Josefin Sans", sans-serif;
    font-size: 0.85em;
    display: block;
    text-align: center;
    margin-top: 0.25em;
    letter-spacing: 0;
}
#header .h_navi .entry a {
	background: var(--themecolor01);
	display: inline-block;
	min-width: 164px;
	padding: 22px 0;
	color: #fff;
	font-size: 1.1em;
	font-weight: 600;
	line-height: 1em;
	transition: .35s;
	letter-spacing: 0.1em;
}
#header .h_navi .recruit a {
	background: var(--themecolor02);
	display: inline-block;
	min-width: 164px;
	padding: 22px 0;
	color: #fff;
	font-size: 1.1em;
	font-weight: 600;
	line-height: 1em;
	transition: .35s;
	letter-spacing: 0.1em;
	border-radius: 0px 0px 0px 6px;
}
#header .h_navi .entry a:hover,
#header .h_navi .recruit a:hover {
	background: var(--themecolor04);
}

.main_img_contents ._in {
	position: relative;
}
.main_img_contents ._in .ph {
	margin-left: 15%;
	width: 85%;
}
.main_img_contents ._in .ph img {
	width: 100%;
	border-radius: 12px 0px 0px 12px;
}
.main_img_contents .main_ttl {
	position: absolute;
	width: 77%;
	top: 10%;
	left: 5%;
}
.main_img_contents .main_ttl img {
	width: 100%;
}

.main_img_contents .fix_txt {
	font-family: "WindSong", cursive;
	font-weight: 400;
	font-style: normal;
    font-size: 4vw;
    line-height: 4vw;
    color: #1a1a1a;
    z-index: 2;
    position: relative;
    display: inline-block;
    margin: auto;
}
.main_img_contents .fix_txt_left {
    position: absolute;
    top: 64%;
    left: 3%;
}
.fix_txt_left.ml {
    margin-left: 2%;
}
.fix_txt_left {
    text-align: left;
    mix-blend-mode: multiply;
}
.main_img_contents .fix_txt_left {
    transform: rotate(-8deg);
}



.contents {
	position: relative;
}
.contents ._in {
	width: 90%;
	max-width: 1480px;
	margin: auto;
	padding: 60px 0 60px;
	position: relative;
	text-align: left;
}
.contents ._in p {
	line-height: 2em;
	color: #1a1a1a;
}
.top .contents.about ._in {
	width: 100%;
	max-width: 100%;
	padding: 60px 0 0;
}
.top .about .c2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-left: 5%;
	position: relative;
}
.top .about .c2 .ph {
	width: 48%;
	position: relative;
}
.top .about .c2 .txt {
	width: 52%;
	padding-bottom: 80px;
	text-align: right;
	container-type: inline-size;
}
.top .about .c2 .ch_txt {
	font-size: 2.65cqw;
    font-weight: 600;
	line-height: 2.5em;
	margin-top: 24px;
	margin-bottom: 34px;
	text-align: left;
	display: inline-block;
}
.top .about .c2 .ch_txt .st {
	font-size: 2.6em;
	line-height: 2em;
	font-weight: 900;
}
.st_c01 {
	color: var(--themecolor02);
}
.st_c02 {
	color: var(--themecolor01);
}
.st_c03 {
	color: var(--themecolor03);
}
.ttl-rl {
	writing-mode: vertical-rl;
	font-size: 2.85em;
	line-height: 2em;
	font-weight: 900;
	margin: 0 auto -1em;
	transition: all 0.3s ease-in-out;
}

a.btn01 {
	position: relative;
	font-weight: 600;
	font-size: 1.25em;
	line-height: 1em;
	color: #1a1a1a;
	padding: 24px 0;
	min-width: 260px;
	display: inline-block;
	letter-spacing: 0.1em;
	border-radius: 4px;
	text-align: center;
	transition: transform .3s;
}
a.btn01 .link_ttl {
	display: inline-block;
	text-align: left;
	position: relative;
	padding: 10px;
	margin-left: 3.5em;
}
a.btn01 .link_ttl:after {
	content: '';
	width: 100%;
	height: 1px;
	background: var(--themecolor06);
	position: absolute;
	left: 0;
	bottom: 0;
}
a.btn01 .link_ttl:before {
	content: '';
	width: 100%;
	height: 1px;
	background: var(--themecolor02);
	position: absolute;
	left: 0;
	bottom: 0;
	transition: transform .3s;
	transform-origin: left top;
	transform: scale(0, 1);
	z-index: 2;
}
a.btn01.mt {
	margin-top: 34px;
}
a.btn01::after {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    transform-origin: left;
    width: 3em;
    height: 3em;
    border: 1px solid var(--themecolor02);
    background-color: #fff;
    content: '';
    transition: all 0.3s ease-in-out;
    border-radius: 50%;
}
a.btn01::before {
    position: absolute;
    left: 1em;
    top: 45%;
    transform: translateY(-50%);
    transform-origin: left;
    width: 1.5em;
    height: .5em;
    background-color: var(--themecolor02);
    clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
    content: '';
    transition: transform .3s;
    z-index: 2;
}
a.btn01:hover {
    color: var(--themecolor02);
}
a.btn01:hover::before {
    background-color: #fff;
}
a.btn01:hover::after {
    border: 1px solid var(--themecolor02);
    background-color: var(--themecolor02);
}
a.btn01:hover .link_ttl:before {
	transform: scale(1, 1);
}


a.btn02 {
	position: relative;
	font-weight: 600;
	font-size: 1.25em;
	line-height: 1em;
	color: #fff;
	padding: 24px 0;
	min-width: 260px;
	display: inline-block;
	letter-spacing: 0.1em;
	border-radius: 4px;
	text-align: center;
	transition: transform .3s;
}
a.btn02 .link_ttl {
	display: inline-block;
	text-align: left;
	position: relative;
	padding: 10px;
	margin-left: 3.5em;
}
a.btn02 .link_ttl:after {
	content: '';
	width: 100%;
	height: 1px;
	background: #fff;
	position: absolute;
	left: 0;
	bottom: 0;
}
a.btn02 .link_ttl:before {
	content: '';
	width: 100%;
	height: 1px;
	background: var(--themecolor08);
	position: absolute;
	left: 0;
	bottom: 0;
	transition: transform .3s;
	transform-origin: left top;
	transform: scale(0, 1);
	z-index: 2;
}
a.btn02.mt {
	margin-top: 34px;
}
a.btn02::after {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    transform-origin: left;
    width: 3em;
    height: 3em;
    border: 1px solid #fff;
    content: '';
    transition: all 0.3s ease-in-out;
    border-radius: 50%;
}
a.btn02::before {
    position: absolute;
    left: 1em;
    top: 45%;
    transform: translateY(-50%);
    transform-origin: left;
    width: 1.5em;
    height: .5em;
    background-color: #fff;
    clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
    content: '';
    transition: transform .3s;
    z-index: 2;
}
a.btn02:hover {
    color: var(--themecolor08);
}
a.btn02:hover::before {
    background-color: #fff;
}
a.btn02:hover::after {
    border: 1px solid var(--themecolor08);
    background-color: var(--themecolor08);
}
a.btn02:hover .link_ttl:before {
	transform: scale(1, 1);
}




.contents.news {
	text-align: right;
}
.contents.news:before {
	content: '';
	width: 100%;
	height: 50%;
	background: var(--bkcolor01);
	position: absolute;
	top: 0;
	left: 0;
}
.contents.news ._in {
	max-width: 90%;
	width: 90%;
	padding: 80px 0;
	text-align: left;
	margin-right: 0;
}
.news .news_c2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	background: #fff;
	padding: 40px 10% 0 40px;
}
.news .news_c2 .center {
	width: 100%;
	margin-top: 34px;
}
.news_c2 .ttl {
	width: 15em;
	position: relative;
	padding: 24px 0;
}
.news_c2 .txt {
	width: calc( 100% - 16em );
	position: relative;
}
.news .dc {
	display: inline-block;
}
.news .cat_li {
	background: var(--themecolor01);
	color: #fff;
	font-size: 0.8em;
	line-height: 1em;
	display: inline-block;
	padding: 5px 10px 6px;
	border-radius: 2px;
	margin-right: 0.25em;
}
.news .date {
	color: #808080;
	line-height: 1em;
	display: inline-block;
	margin-right: 0.5em;
}
.news .news_li {
	margin: 0 0 0;
}
.news .news_li li {
	border-bottom: 1px solid var(--linecolor01);
	padding: 28px 7px;
}
.news .news_li li:first-of-type {
	border-top: 0;
}
.news .news_li li .dc {
	margin-right: 7px;
}
.news .news_li li h3 {
	display: block;
	font-size: 1.1em;
	font-weight: 500;
	line-height: 1.5em;
	margin-top: 7px;
}
.news .news_li li a {
	color: #1a1a1a;
	transition: .35s;
}
.news .news_li li a:hover {
	color: var(--themecolor01);
}

.ttl_outher01 {
	margin-bottom: 34px;
}
.ttl_outher01 .title {
	font-size: 1em;
	line-height: 1em;
	letter-spacing: 0.1em;
	font-weight: normal;
	position: relative;
}
.ttl_outher01 .title .en {
	font-family: "Josefin Sans", sans-serif;
	font-weight: 700;
	background: #2E3192;
    background: linear-gradient(90deg, rgba(46, 49, 146, 1) 0%, rgba(0, 145, 74, 1) 50%, rgba(228, 31, 31, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
	letter-spacing: 0em;
	line-height: 1em;
    font-size: 6em;
}
.page_title_contents .ttl_outher01 .title .en {
    font-size: 7em;
}
.ttl_outher01.center .title {
	display: inline-block;
}
.news .ttl_outher01 .title .en {
    font-size: 4em;
}
.ttl_outher01 .title .jp {
	font-family: "Noto Serif JP", serif;
	font-weight: 600;
	background: #2E3192;
    background: linear-gradient(90deg, rgba(46, 49, 146, 1) 0%, rgba(0, 145, 74, 1) 50%, rgba(228, 31, 31, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
	letter-spacing: 0em;
	line-height: 1em;
    font-size: 4em;
}
.ttl_outher01 .title .s_txt {
	font-size: 16px;
	line-height: 1em;
	display: block;
	margin-top: -0.5em;
	font-weight: 500;
}
.page_title_contents .ttl_outher01 .title .s_txt {
	margin-top: -0.75em;
}
.ttl_outher_w100 {
	margin-left: 5%;
}

.contents.business:after {
	content: '';
	width: 100%;
	height: calc( 100% - 95px );
	background: var(--bkcolor01);
	position: absolute;
	top: 95px;
	left: 0;
}
.contents.business ._in {
	width: 100%;
	max-width: 100%;
	position: relative;
	z-index: 2;
}
.business .business_li {
	overflow: hidden;
}
.business .business_li ul {
	display: flex;
	flex-wrap: wrap;
	width: 120%;
	margin-left: -5%;
	margin-top: 20px;
}
.business .business_li ul:first-of-type {
	margin-top: 0;
	margin-left: -10%;
}
.business .business_li ul li {
	width: 20%;
	transition: .35s;
}
.business .business_li ul li a {
	display: block;
	height: calc( 100% - 60px );
	position: relative;
	container-type: inline-size;
	color: #1a1a1a;
	padding: 30px;
}
.business .business_li ul li a h3 {
	display: inline-block;
    padding: 8px 14px;
    font-size: 8.8cqw;
    line-height: 1.5em;
    background: #fff;
    letter-spacing: 0.1em;
    transition: .35s;
    font-weight: 600;
}
.business .business_li ul li a:hover h3 {
	color: var(--themecolor02);
}
.business .business_li ul li a p {
	display: inline-block;
    font-size: 4.2cqw;
    line-height: 1.5em;
    margin: 4cqw 0;
    transition: .35s;
}
.business .business_li ul li a::after {
    position: absolute;
    right: 20px;
    bottom: 15px;
    transform-origin: left;
    width: 3em;
    height: 3em;
    border: 1px solid var(--themecolor02);
    content: '';
    transition: all 0.3s ease-in-out;
    border-radius: 50%;
}
.business .business_li ul li a::before {
    position: absolute;
    right: 30px;
    bottom: 37px;
    transform-origin: left;
    width: 1.5em;
    height: .5em;
    background-color: var(--themecolor02);
    clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
    content: '';
    transition: transform .3s;
    z-index: 2;
}
.business .business_li ul li a:hover::after {
   background: var(--themecolor02);
}
.business .business_li ul li a:hover::before {
    background-color: #fff;
}
.markerUnder {
  background: #fff;
  display: inline-block;
  padding: 8px 8px;
  margin: 4px 0;
  transition: .35s;
}
.business .business_li ul li a:hover .markerUnder {
  color: var(--themecolor02);
}
.business .business_li ul li:hover {
  background: rgba(255, 255, 255, 0.8);
}

.fix_txt {
    font-family: "Allura", cursive;
    font-weight: 400;
    font-style: normal;
    font-size: 5vw;
    line-height: 6vw;
    color: #efefef;
    z-index: 2;
    position: relative;
    display: inline-block;
    margin: auto;
}




@keyframes parallax-txt_mov-anim {
  from {
    transform: translateY(80px);
  }
  to {
    transform: translateY(-40px);
  }
}
@keyframes parallax-txt_center_mov-anim {
  from {
    transform: translateY(80px) translateX(-50%);
  }
  to {
    transform: translateY(-40px) translateX(-50%);
  }
}

.txt_mov {
  animation: parallax-txt_mov-anim ease;
  animation-timeline: view();
}
.txt_mov_center {
  animation: parallax-txt_center_mov-anim ease;
  animation-timeline: view();
}

#interview_slide {
	position: relative;
	padding: 60px 0;
}
#interview_slide ._in {
	position: relative;
}

#interview_slide .fix_txt_left {
    transform: rotate(-8deg);
    position: absolute;
    top: 8%;
    left: 2%;
    z-index: 10;
    mix-blend-mode: unset;
}
#interview_slide .fix_txt {
    font-family: "WindSong", cursive;
    font-weight: 400;
    font-style: normal;
    font-size: 3.2vw;
    line-height: 4.5vw;
    color: #fff;
    z-index: 2;
}
#interview_slide .cp_txt {
    position: absolute;
    left: 2.5em;
    bottom: 2.5em;
}
#interview_slide .cp_txt h5 .markar {
    background: rgba(34, 41, 138, 0.9);
    display: inline-block;
    padding: 0 14px;
    margin: 4px;
}
#interview_slide .cp_txt h5 {
    font-size: 2.85cqw;
    line-height: 1.85em;
    color: #fff;
    font-weight: 500;
    white-space: nowrap;
    letter-spacing: 0.1em;
}

.contents.cross ._in {
	max-width: 1340px;
}
.cross .rvoice_info {
	position: relative;
	background: var(--themecolor02);
	border-radius: 12px;
	color: #fff;
	container-type: inline-size;
	margin-top: 80px;
}
.cross .rvoice_info .inner {
	padding: 34px;
	text-align: center;
}
.cross .rvoice_info .ph {
	max-width: 1015px;
	margin: -9.5cqw auto -5.5cqw;
	width: 84%;
}
.cross .rvoice_info .rvoice_ttl {
	font-family: "Josefin Sans", sans-serif;
	font-size: 14cqw;
	line-height: 1em;
	text-align: center;
	font-weight: 700;
}
.cross .rvoice_info .ch_txt {
	font-size: 2em;
	line-height: 1.5em;
	text-align: center;
	font-weight: 600;
}
.cross .rvoice_info p {
	color: #ffff;
	display: inline-block;
	margin: 24px auto;
}

.contents.environment:after {
	content: '';
	width: 100%;
	height: calc( 100% - 95px );
	background: var(--bkcolor01);
	position: absolute;
	top: 95px;
	left: 0;
}
.contents.environment ._in {
	max-width: 1400px;
	position: relative;
	z-index: 2;
}

.contents.environment .ch_txt {
	font-size: 1.1em;
	font-weight: 500;
	line-height: 1.8em;
	padding: 24px 0 34px;
	position: relative;
	display: flex;
	flex-wrap: wrap;
}
.contents.environment .ch_txt .txt {
	width: 66%;
}
.contents.environment .ch_txt .ph {
	width: 34%;
	position: relative;
}
.contents.environment .ch_txt .ph img {
	position: absolute;
    width: 108%;
    bottom: -34px;
    right: -10%;
}

.environment_li ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.environment_li li {
	width: 49%;
	margin-top: 14px;
}
.environment_li li a {
	display: block;
	position: relative;
}
a.btn03 {
	position: relative;
	font-weight: 600;
	font-size: 1.25em;
	line-height: 1em;
	color: #1a1a1a;
	padding: 30px 24px;
	display: inline-block;
	letter-spacing: 0.1em;
	border-radius: 4px;
	transition: transform .3s;
	background: #fff;
}
a.btn03 .c2 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
a.btn03 .c2 ._icon {
	width: 70px;
}
a.btn03 .c2 ._txt {
	width: calc( 100% - 100px );
	margin-left: 24px;
	font-size: 0.8em;
	font-weight: 500;
	line-height: 1.5em;
}
a.btn03 .link_ttl {
	display: inline-block;
	text-align: left;
	position: relative;
	padding: 10px;
	font-size: 1.5em;
    line-height: 1.5em;
}
a.btn03 .link_ttl::first-letter {
	color: var(--themecolor02);
}
a.btn03 .link_ttl .s_txt {
    font-size: 0.5em;
    letter-spacing: 0;
    display: block;
    font-weight: 500;
}
a.btn03 .link_ttl .icon {
	display: block;
	text-align: center;
	padding-top: 20px;
}
a.btn03::after {
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    transform-origin: left;
    width: 3em;
    height: 3em;
    border: 1px solid var(--themecolor02);
    background-color: #fff;
    content: '';
    transition: all 0.3s ease-in-out;
    border-radius: 50%;
}
a.btn03::before {
    position: absolute;
    right: 2em;
    top: 48%;
    transform: translateY(-50%);
    transform-origin: left;
    width: 1.5em;
    height: .5em;
    background-color: var(--themecolor02);
    clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
    content: '';
    transition: transform .3s;
    z-index: 2;
}
a.btn03:hover {
    color: var(--themecolor02);
}
a.btn03:hover::before {
    background-color: #fff;
}
a.btn03:hover::after {
    border: 1px solid var(--themecolor02);
    background-color: var(--themecolor02);
}
a.btn03:hover .link_ttl:before {
	transform: scale(1, 1);
}

.contents.entry_info ._in {
	max-width: 1400px;
}
.entry_info .entry_btn_li ul {
	display: flex;
	flex-wrap: wrap;
}
.entry_info .entry_btn_li ul li {
	width: calc( 33.3% - 30px );
	margin: 14px 0 0 30px;
}
.entry_info .entry_btn_li ul li:first-of-type {
	margin-left: 0;
}

a.entry_btn.new {
	background: var(--themecolor02);
}
a.entry_btn.mid {
	background: var(--themecolor01);
}
a.entry_btn.entry {
	background: var(--themecolor01);
}
a.entry_btn.inter {
	background: var(--themecolor03);
}
a.entry_btn {
	position: relative;
	font-weight: 600;
	font-size: 1.45em;
	line-height: 1em;
	color: #fff;
	padding: 34px 24px;
	display: block;
	letter-spacing: 0.1em;
	border-radius: 4px;
	transition: all 0.3s ease-in-out;
}
a.entry_btn .link_ttl {
	display: inline-block;
	text-align: left;
	position: relative;
	padding: 10px;
}
a.entry_btn .link_ttl .en {
	display: block;
	font-size: 0.8em;
	line-height: 1em;
	font-family: "Josefin Sans", sans-serif;
	letter-spacing: 0;
	margin-top: 7px;
}
a.entry_btn::after {
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    transform-origin: left;
    width: 2.5em;
    height: 2.5em;
    border: 1px solid #fff;
    content: '';
    transition: all 0.3s ease-in-out;
    border-radius: 50%;
}
a.entry_btn::before {
    position: absolute;
    right: 30px;
    top: 48%;
    transform: translateY(-50%);
    transform-origin: left;
    width: 1.5em;
    height: .5em;
    background-color: #fff;
    clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
    content: '';
    transition: transform .3s;
    z-index: 2;
}
a.entry_btn:hover {
    background: var(--themecolor09);
}

.contents.insta ._in {
	max-width: 1400px;
	position: relative;
	z-index: 2;
}

.insta .insta_ttl {
	display: inline-block;
	margin: auto;
}
.insta .insta_ttl .s_txt {
    font-size: 16px;
    line-height: 1em;
    margin-top: 7px;
    display: block;
}
.insta .feed {
	margin: 34px  auto;
}


.footer {
	background: var(--bkcolor01);
	position: relative;
	text-align: left;
}
.footer ._in {
	width: 90%;
	margin: auto;
	padding: 30px 0;
	position: relative;
}
.footer .c2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.footer .c2 .nav {
	width: 56%;
}
.footer .c2 .nav a {
	color: #1a1a1a;
}
.footer .c2 .nav a:hover {
	color: var(--themecolor01);
}
.footer .nav .parent {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.footer .nav .parent .parent_li {
	width: calc( 25% - 2em );
	margin: 20px 0;
	margin-left: 2em;
}
.footer .nav .parent .child_li {
	padding-left: 2em;
    position: relative;
    font-size: 0.9em;
    line-height: 1.5em;
    margin-top: 4px;
    text-indent: -1em;
}
.footer .nav .parent .child_li:before {
	content: '−';
	margin-right: 0.5em;
}
.footer .f_rec_banner {
	text-align: right;
	margin-left: 5px;
}
.footer .c2 .nav .f_rec_banner a {
	margin-top: 14px;
	display: inline-flex;
	align-items: center;
	background: #fff;
	border-radius: 2px;
	transition: all 0.3s ease-in-out;
	color: #1a1a1a;
	overflow: hidden;
	font-size: 0.8em;
	line-height: 1em;
	padding: 7px 14px;
}
.footer .c2 .nav .f_rec_banner a:hover {
	color: var(--themecolor02);
}
.footer .f_rec_banner a .txt {
	display: flex;
	align-items: center;
	padding: 0 44px 0 0;
	position: relative;
}
.footer .f_rec_banner a .ttl {
	text-align: left;
	display: block;
	font-size: 1.35em;
	line-height: 1em;
	font-weight: 600;
}
.footer .f_rec_banner a .ttl .en {
	font-family: "Josefin Sans", sans-serif;
	font-size: 0.7em;
	line-height: 1em;
	font-weight: 600;
	display: block;
	margin-top: 10px;
	color: var(--themecolor02);
}
.footer .f_rec_banner a .txt .icon {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    transition: transform .2s;
}
.footer .f_rec_banner a:hover .txt .icon {
	transform: translateY(-60%) rotate(45deg);
}
.footer .f_rec_banner a .ph {
	max-width: 136px;
}
.footer .f_rec_banner a:hover {
	background: #006a35;
}
.nav_ft_banner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.group_link {
	display: inline-flex;
	flex-direction: column;
	margin-top: 14px;
}
.footer .c2 .nav a.group_btn {
	display: inline-flex;
	align-items: center;
	background: var(--themecolor01);
	border-radius: 2px;
	transition: all 0.3s ease-in-out;
	color: #fff;
	overflow: hidden;
	font-size: 0.9em;
	line-height: 1em;
	padding: 12px 38px 12px 14px;
	position: relative;
}
.footer .c2 .nav a.group_btn .icon {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    transition: transform .2s;
}
.footer .c2 .nav a:hover .icon {
	transform: translateY(-60%) rotate(45deg);
}
.footer .c2 .nav a.group_btn.group_link02 {
	margin-top: 5px;
}
.footer .c2 .nav a.group_btn.group_link02:hover {
	background: var(--themecolor02);
}
.footer .c2 .nav a.group_btn.group_link01 {
	background: var(--themecolor02);
}
.footer .c2 .nav a.group_btn.group_link01:hover {
	background: var(--themecolor01);
}
.footer .c2 .addr {
	width: 44%;
	text-align: left;
	margin-top: 20px;
}
.footer .c2 .addr a {
	color: #1a1a1a;
}
.footer .c2 .addr a:hover {
	color: var(--themecolor01);
}
.footer .addr .addr_txt {
	line-height: 1.5em;
	margin: 14px 0;
}
.footer .addr .sns {
	display: flex;
	align-items: center;
	margin-left: 0;
}
.footer .addr .sns li {
	margin: 7px;
}
.footer .addr .sns li a img {
	filter: invert(37%) sepia(71%) saturate(7305%) hue-rotate(148deg) brightness(99%) contrast(103%);
	transition: filter .3s ease-in-out; /* イージングをおとなしくかける */
}
.footer .addr .sns li a:hover img {
	filter: invert(4%) sepia(95%) saturate(5745%) hue-rotate(244deg) brightness(60%) contrast(95%);
}
.footer .addr .addr_c2 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.footer .copyright {
    font-size: 12px;
    line-height: 1.5em;
    margin-top: 34px;
    text-align: center;
}
.footer .rec_site_logo {
    display: inline-block;
    text-align: left;
}
.footer .rec_site_logo .rec_site {
    padding: 10px 14px;
    font-size: 1.25em;
    border: 2px solid #1a1a1a;
    text-align: center;
    /* font-family: "Josefin Sans", sans-serif; */
    line-height: 1em;
    font-weight: 600;
    margin: 14px 0;
}
.footer .f_entry_banner {
	margin-left: 5px;
}
.footer .f_banner_li {
	margin-top: 20px;
}
.footer .c2 .nav .f_entry_banner a {
	display: block;
	font-size: 1.2em;
	line-height: 1em;
    font-weight: 600;
	padding: 20px;
	color: #fff;
	border-radius: 2px;
	background: var(--themecolor01);
	transition: all 0.3s ease-in-out;
	text-align: center;
}
.footer .f_entry_banner a .en {
	font-family: "Josefin Sans", sans-serif;
	font-size: 0.7em;
	line-height: 1em;
	font-weight: 600;
	display: block;
	margin-top: 4px;
	text-align: center;
}
.footer .c2 .nav .f_entry_banner a:hover {
	background: var(--themecolor09);
}

.footer .f_img_ttl {
	text-align: right;
	margin-top: -24px;
}
.footer .fix_txt {
	font-size: 7vw;
	white-space: nowrap;
}
.footer .fix_txt_center {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}


.page_title_contents {
	position: relative;
	padding: 60px 0;
}
.page_title_contents:before {
	content: '';
	width: 100%;
	height: calc( 52% - 100px );
	background: var(--bkcolor01);
	position: absolute;
	top: 100px;
	left: 0;
}
.page_title_contents.appeal:before {
	content: '';
	width: 100%;
	height: calc( 100% - 100px );
	background: var(--bkcolor01);
	position: absolute;
	top: 100px;
	left: 0;
}
.page_title_contents ._in {
	position: relative;
}
.page_title_contents .c2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.page_title_contents .c2 .ph {
	width: 54%;
	position: relative;
    z-index: 2;
    container-type: inline-size;
}
.page_title_contents .c2 .ph .img img{
	border-radius: 0px 8px 8px 0px;
}
.page_title_contents .c2 .txt {
	width: 38%;
	padding: 0 4%;
	container-type: inline-size;
}
.page_title_contents.appeal .c2 .txt:before {
	content: '';
    width: 74%;
    height: 60%;
    position: absolute;
    right: 0;
    bottom: -100px;
    background: #fff;
}
.page_title_contents .page_main_txt {
	position: relative;
}
.page_title_contents .page_main_txt img {
	width: 100%;
}
.page_title_contents .page_main_txt .page_main_staff {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}
.page_title_contents .ttl-rl {
    writing-mode: vertical-rl;
    font-size: 6.5cqw;
    line-height: 2em;
    font-weight: 900;
    margin: 0 auto -0.5em;
    position: relative;
    z-index: 2;
}

.contents.business_section {
	z-index: 2;
}
.contents.business_section:after {
    content: '';
    width: 100%;
    height: 50%;
    position: absolute;
    left: 0;
    top: 0;
    background: var(--bkcolor01);
}
.contents.business_section ._in {
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 2;
    padding: 0 0 60px;
}
.side_fix_nav {
	width: calc(22% - 5%);
    padding: 60px 0;
    padding-left: 5%;
}
.side_fix_nav .side_fix_nav_inner {
	position: sticky;
    top: 140px;
}
.side_fix_nav .side_fix_nav_ttl {
	font-family: "Montserrat", sans-serif;
    font-size: 2em;
    line-height: 1em;
    font-weight: 600;
}
.side_fix_nav .side_fix_nav_li {
    font-size: 1.1em;
    line-height: 1.5em;
    margin: 20px 0;
    font-weight: 600;
}
.side_fix_nav .side_fix_nav_li li {
	margin: 20px 0;
	position: relative;
	text-align: left;
}
.side_fix_nav .side_fix_nav_li li .spacing05 {
	letter-spacing: 0.5em;
}
.side_fix_nav .side_fix_nav_li li a {
	color: #1a1a1a;
	position: relative;
	transition: all .3s;
	padding-left: 30px;
	display: block;
}
.side_fix_nav .side_fix_nav_li li a:before {
	content: '';
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #fff;
	border: 4px solid #cccc;
	position: absolute;
	left: 0;
	top: 0.25em;
	transition: all .3s;
}
.side_fix_nav .side_fix_nav_li li a.active:before {
	background: var(--themecolor02);
}
.section_columns .fix_txt_right {
    text-align: right;
    transform: rotate(-3deg);
    mix-blend-mode: multiply;
    z-index: 2;
    position: relative;
    margin-top: -4em;
    margin-bottom: -4em;
}
.section_columns {
	width: 74%;
	background: #fff;
	border-radius: 8px 0px 0px 0px;
}
.section_columns .inner {
	padding: 44px;
}
.section_columns .inner .section_columns_li {
	margin-top: 100px;
}
.section_columns .inner .section_columns_li.internship_plan {
	margin-top: 80px;
}
.section_columns .inner .section_columns_li.internship_plan {
	border-top: 1px dashed var(--themecolor07);
	padding-top: 34px;
}
.section_columns .inner .section_columns_li:first-of-type {
	margin-top: 0;
}
.section_columns .inner .section_columns_li .info_p {
	padding-right: 3%;
}
.section_columns_c2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 60px 0 0;
}
.job_info .section_columns_c2 {
	align-items: center;
	margin: 0 0 0;
}
.job_info .job_info_txt {
	margin-top: 30px;
}
.section_columns_c1 {
	margin: 60px 0 0;
}
.section_columns_c2.reverse {
	flex-direction: row-reverse;
}
.section_columns_c2 .ph {
    width: calc( 48% + 44px );
    margin: 0 0 0;
    margin-left: -44px;
    text-align: center;
}
.section_columns_c2.reverse .ph {
	margin-left: unset;
    margin-right: -44px;
}
.section_columns_c2 .ph img {
    border-radius: 0px 6px 6px 0px;
}
.section_columns_c2 .ph .birthday img {
    border-radius: 6px;
}
.section_columns_c2.reverse .ph img {
    border-radius: 6px 0px 0px 6px;
}
.section_columns_c2 .txt {
	width: 48%;
	padding: 24px 0;
}
.job_info .section_columns_c2 .txt {
	width: 38%;
}
.job_info .section_columns_c2 .ph {
    width: calc( 60% + 44px );
}
.section_columns_c1 .ch_ttl,
.section_columns_c2 .txt .ch_ttl {
	font-size: 1.5em;
	font-weight: 600;
	line-height: 1.85em;
	padding-left: 2em;
	position: relative;
	margin-bottom: 18px;
	text-align: left;
}
.job_info .section_columns_c2 .txt .ch_ttl {
	font-size: 1.55em;
    padding-left: 0;
    letter-spacing: 0.1em;
}

.section_columns_c1 .ch_ttl:before,
.section_columns_c2 .txt .ch_ttl:before {
	content: '';
	width: 1.5em;
    height: 1px;
    background: #1a1a1a;
    position: absolute;
    left: 0;
    top: 1em;
}
.job_info .section_columns_c2 .txt .ch_ttl:before {
	content: '';
	width: 0;
    height: 0;
}
.birthday .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	background: #d2d2d2;
	opacity: 0.8;
	margin: 0 4px;
}
.birthday .swiper-pagination-bullet-active {
	width: 12px;
	height: 12px;
	background: var(--themecolor01);
	opacity: 1;
}
.birthday .swiper-pagination {
    position: relative;
    margin-bottom: 0;
    margin-top: 4px;
}
.birthday .swiper-pagination-bullets.swiper-pagination-horizontal {
	bottom: 0;
}
.br-sp {
    display: none;
}
.inline-block {
	display: inline-block;
	text-indent: 0;
}
.indent_ul li {
	text-indent: -1em;
	margin-left: 1em;
}

.ttl_outher03 {
	margin-bottom: 18px;
	position: relative;
}
.ttl_outher03 .icon {
	margin-left: -12px;
    margin-bottom: -24px;
    display: block;
}
.ttl_outher03 .iconNo {
	margin-bottom: 7px;
}
.ttl_outher03 .iconNo .no_en {
	font-family: "Montserrat", sans-serif;
    font-size: 0.65em;
    line-height: 1em;
    margin-top: 0;
    font-weight: 600;
    color: var(--themecolor01);
    display: inline-block;
}
.ttl_outher03 .iconNo .no_num {
    font-size: 3.5em;
    line-height: 1em;
    margin-left: 10px;
    display: inline-block;
}
.ttl_outher03 .iconNo .icon {
    margin-left: 3em;
    margin-bottom: -28px;
    display: block;
}
.ttl_outher03 .ttl {
	font-size: 2.45em;
	line-height: 1.5em;
	letter-spacing: 0.1em;
	font-weight: 600;
}
.ttl_outher03 .ttl .s_txt {
	font-size: 0.65em;
	line-height: 1em;
}
.ttl_outher03 .en {
	font-family: "Montserrat", sans-serif;
    font-size: 1em;
    line-height: 1em;
    margin-top: 0;
    font-weight: 600;
}
.ttl_outher03 .en:first-letter {
	color: var(--themecolor01);
}
.ttl_outher03 .en.color01 {
	color: var(--themecolor01);
}


.contents.relation {
	background: var(--bkcolor01);
}
.contents.relation ._in {
	max-width: 1400px;
	position: relative;
	z-index: 2;
}
.relation_li ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.relation_li li {
	width: calc( 50% - 20px );
	margin-top: 14px;
	margin-left: 40px;
}
.relation_li li:nth-child(2n+1) {
	margin-left: 0;
}
.relation_li li a {
    display: block;
    position: relative;
}
.job_info .job_interview {
	margin-top: 60px;
}
.job_interview .job_interview_ttl {
    font-family: "Josefin Sans", sans-serif;
    font-weight: 700;
    background: #2E3192;
    background: linear-gradient(90deg, rgba(46, 49, 146, 1) 0%, rgba(0, 145, 74, 1) 50%, rgba(228, 31, 31, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0em;
    line-height: 1em;
    font-size: 3em;
    margin-bottom: 14px;
    display: inline-block;
}
.job_interview .job_interview_li {
    display: flex;
    flex-wrap: wrap;
}
.job_interview .job_interview_li .job_interview_staff:hover .name {
    color: var(--themecolor02);
}
.job_interview .job_interview_li .name {
    font-size: 0.9em;
    line-height: 1.5em;
    letter-spacing: 0.1em;
    margin-top: 7px;
    transition: all 0.35s;
}
.job_interview .job_interview_li .staff_name {
    letter-spacing: 0.1em;
    font-weight: 700;
    font-family: "Josefin Sans", sans-serif;
    font-size: 1.35em;
    line-height: 1.5em;
    display: inline-block;
}
.job_interview .job_interview_li .job_interview_staff {
   width: calc( 33.3% - 19px );
   margin-left: 28px;
}
.job_interview .job_interview_li .job_interview_staff .ph img {
   border-radius: 4px;
   width: 100%;
   aspect-ratio: 437 / 302;
   object-fit: cover;
}
.job_interview .job_interview_li .job_interview_staff:nth-child(3n+1) {
   margin-left: 0;
}

.oneday_schedule .section_columns_c2 {
	align-items: unset;
	margin: 0 0 0;
}
.oneday_schedule .section_columns_c2 .txt {
	width: 38%;
}
.oneday_schedule .section_columns_c2 .ph {
    width: calc( 60% + 44px );
}
.oneday_schedule .section_columns_c2 .txt .ch_ttl {
    font-size: 1.55em;
    padding-left: 0;
    letter-spacing: 0.1em;
}
.oneday_schedule .section_columns_c2 .txt .ch_ttl:before {
    content: '';
    width: 0;
    height: 0;
}
.oneday_schedule .ttl_outher03 .ttl .s_txt {
    font-size: 0.65em;
    line-height: 1em;
    margin-bottom: 0.25em;
    display: block;
}
.oneday_schedule .oneday_schedule_info {
	margin-top: 46px;
    position: relative;
    padding: 28px;
    overflow: hidden;
    background: #fafafa;
    border-radius: 6px;
}
.oneday_schedule .oneday_schedule_info .swiper-container {
	overflow: hidden;
}
.oneday_schedule .oneday_schedule_info .ph {
	position: relative;
}
.oneday_schedule .oneday_schedule_info .swiper-slide:first-of-type .ph:before {
	width: 0;
	height: 0;
	border-bottom: 0;
}
.oneday_schedule .oneday_schedule_info .ph:before {
	content: '';
	width: 20px;
	height: 1px;
	border-bottom: 4px dotted #ccc;
	position: absolute;
	left: -26px;
	top: 50%;
}
.oneday_schedule .oneday_schedule_info .ph img {
	border-radius: 4px;
}
.oneday_schedule .oneday_schedule_info .txt h5 {
	margin-top: 7px;
	font-size: 1.2em;
	line-height: 1.5em;
	color: var(--themecolor02);
}
.oneday_schedule .oneday_schedule_info .txt p {
	font-size: 0.9em;
	line-height: 1.5em;
	margin-top: 4px;
}
.oneday_schedule .oneday_schedule_info .txt p.time {
	display: flex;
	align-items: center;
	margin-top: 14px;
	font-weight: 600;
	font-size: 1.1em;
	line-height: 1.5em;
}
.oneday_schedule .oneday_schedule_info .txt p.time .icon {
	margin-right: 7px;
	width: 24px;
}

.oneday_schedule .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	background: #d2d2d2;
	opacity: 0.8;
	margin: 0 4px;
}
.oneday_schedule .swiper-pagination-bullet-active {
	width: 12px;
	height: 12px;
	background: var(--themecolor01);
	opacity: 1;
}
.oneday_schedule .swiper-pagination {
    position: relative;
    margin-top: 14px;
}
.oneday_schedule .swiper-pagination-bullets.swiper-pagination-horizontal {
	bottom: 0;
}
.oneday_schedule_info .swiper-button-next, .swiper-button-prev {
    top: 50%;
}
.oneday_schedule_info .swiper {
    overflow: inherit;
}
.facility_room .swiper-scrollbar {
 	position: relative;
 	margin-top: 2rem;
}
.oneday_schedule_info .swiper-scrollbar::after {
 	position: absolute;
 	z-index: -1;
 	top: 0;
 	bottom: 0;
 	left: 0;
 	width: 100%;
 	height: 4px;
 	margin: auto;
 	content: "";
/*  	background-color: #eee; */
}
.oneday_schedule_info .swiper-scrollbar-drag {
 	cursor: pointer;
 	background-color: #b9b9b9;
 	background-clip: content-box;
}
.oneday_schedule_info .swiper-scrollbar-drag:active {
 	background-color: #b9b9b9;
} 
.oneday_schedule_info .swiper-horizontal>.swiper-scrollbar,
.oneday_schedule_info .swiper-scrollbar.swiper-scrollbar-horizontal {
    position: relative;
    left: 0;
    bottom: 0;
    z-index: 50;
    height: 5px;
    width: 100%;
    margin-top: 14px;
}

.page_title_contents.interview {
    padding: 60px 0 0;
}
.page_title_contents.interview:before {
    content: '';
    width: 100%;
    height: calc(100% - 100px);
    background: var(--bkcolor01);
    position: absolute;
    top: 100px;
    left: 0;
}
.page_title_contents.interview .c2 {
    align-items: center;
}
.page_title_contents.interview .interview_ttl {
	font-size: 1.8em;
    line-height: 2.4em;
    margin-bottom: 64px;
}
.page_title_contents.interview .job_cat_txt {
	font-size: 1.8em;
	line-height: 1.5em;
	letter-spacing: 0.1em;
	font-weight: 500;
	position: relative;
}
.page_title_contents.interview .staff_name {
	font-size: 4.5em;
	line-height: 1em;
	letter-spacing: 0.1em;
	font-weight: 700;
	font-family: "Josefin Sans", sans-serif;
	margin: 14px 0;
	position: relative;
}
.page_title_contents.interview .interview_txt {
	position: relative;
}
.page_title_contents.interview .interview_txt p {
	font-size: 1.2em;
	line-height: 1.8em;
	letter-spacing: 0.1em;
	font-weight: 600;
	margin: 0;
}
.page_title_contents .interview_markerUnder {
    background: linear-gradient(transparent 0%, var(--themecolor02) 0%);
    display: inline;
    padding: 7px 0;
    color: #fff;
    letter-spacing: 0.1em;
}
.interview_markerUnder {
	background: linear-gradient(transparent 0%, var(--themecolor02) 0%);
	display: inline;
	padding: 0 0 0px;
	color: #fff;
}
.page_title_contents.interview .c2 .txt:before {
    content: '';
    width: 74%;
    height: 54%;
    position: absolute;
    right: 0;
    bottom: -100px;
    background: #fff;
}
.page_title_contents.interview .fix_txt {
    font-size: 6.5cqw;
    line-height: 1.25em;
    color: #fff;
    z-index: 2;
}
.page_title_contents.interview .fix_txt {
    font-size: 5cqw;
    line-height: 1.85em;
    color: #fff;
    z-index: 2;
    font-family: "WindSong", cursive;
}
.page_title_contents.interview .fix_txt_left {
    text-align: left;
    mix-blend-mode: unset;
    position: absolute;
    bottom: 5%;
    left: 6%;
    z-index: 2;
    transform: rotate(-4deg);
}

.contents.interview_section:before {
	content: '';
    width: 100%;
    height: 20%;
    position: absolute;
    left: 0;
    top: 0;
    background: var(--bkcolor01);
}
.contents.interview_section ._in {
    width: 90%;
    max-width: 90%;
    background: #ffff;
    margin-left: 10%;
    padding: 60px 0 100px;
}
.interview_section .interview_qa {
    padding: 0;
}
.interview_section .interview_qa .interview_c1:first-child,
.interview_section .interview_qa .interview_c2:first-child {
    margin-top: 0;
}
.interview_section .interview_qa .interview_c1 {
	margin-top: 80px;
}
.interview_section .interview_qa .interview_c2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    flex-direction: row-reverse;
    margin-top: 80px;
}
.interview_section .interview_qa .interview_c2:nth-of-type(even) {
    flex-direction: row;
}
.interview_section .interview_qa .interview_c2 .ph {
    width: 44%;
}
.interview_section .interview_qa .interview_c2 .ph img {
    border-radius: 6px 0px 0px 6px;
}
.interview_section .interview_qa .interview_c2:nth-of-type(even) .ph img {
    border-radius: 0px 6px 6px 0px;
}
.interview_section .interview_qa .interview_c2 .txt {
    width: calc( 56% - 120px) ;
    padding: 0 60px;
}
.interview_section .interview_qa .interview_c2:nth-of-type(even) .txt {
    width: calc( 56% - 140px) ;
    padding: 0 60px;
    padding-right: 80px;
}
.interview_section .interview_qa .interview_c1 .txt {
    padding: 0 60px;
    padding-right: 80px;
}
.interview_qa .interview_c1 .q_ttl,
.interview_qa .interview_c2 .q_ttl {
	font-size: 1.65em;
	font-weight: 600;
	line-height: 1.85em;
	padding-left: 2em;
	position: relative;
	margin-bottom: 18px;
	text-align: left;
}
.interview_qa .interview_c1 .q_ttl:before,
.interview_qa .interview_c2 .q_ttl:before {
	content: '';
	width: 1.5em;
    height: 1px;
    background: #1a1a1a;
    position: absolute;
    left: 0;
    top: 1em;
}

.other_interview {
	margin-top: 120px;
	padding: 0 0 0 60px;
}
.other_interview .ttl_outher01 .title .en {
    font-size: 4.5em;
}
.other_interview .swiper-slide .ph {
	position: relative;
	container-type: inline-size;
}
.other_interview .swiper-slide .ph img {
	border-radius: 6px;
	width: 100%;
    aspect-ratio: 483 / 334;
    object-fit: cover;
}
.other_interview .swiper-slide .ph h3 {
    font-size: 3.45cqw;
    line-height: 1.8em;
    margin: 18px;
    position: absolute;
    left: 0;
    bottom: 0;
    font-weight: 500;
}
.other_interview .swiper-slide .txt .job_cat_txt {
	font-size: 1em;
	line-height: 1.5em;
	letter-spacing: 0.1em;
	font-weight: 500;
	display: inline-block;
	margin: 14px 0 0;
}
.other_interview .swiper-slide .txt .staff_name {
	font-size: 1.65em;
	line-height: 1em;
	letter-spacing: 0.1em;
	font-weight: 700;
	font-family: "Josefin Sans", sans-serif;
	margin: 14px 0 0;
	display: inline-block;
}
.other_interview .js-swiper {
	margin-bottom: 34px;
}
.other_interview .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	background: #d2d2d2;
	opacity: 0.8;
	margin: 0 4px;
}
.other_interview .swiper-pagination-bullet-active {
	width: 12px;
	height: 12px;
	background: var(--themecolor01);
	opacity: 1;
}
.other_interview .swiper-pagination {
    position: relative;
    margin-top: 24px;
}
.other_interview .swiper-pagination-bullets.swiper-pagination-horizontal {
	bottom: 0;
}

.page_title_contents .ttl_outher01 {
    margin-bottom: 0;
    padding-bottom: 34px;
}
.contents.interview_all_section:before {
    content: '';
    width: 100%;
    height: 20%;
    min-height: 280px;
    position: absolute;
    left: 0;
    top: 0;
    background: var(--bkcolor01);
}
.interview_all_section ._in .inner {
    background: #fff;
    padding: 0 46px 46px;
    border-radius: 8px;
}
.interview_all_section .all_interview {
	display: flex;
	flex-wrap: wrap;
}
.all_interview .all_interview_li {
	width: calc( 33.3% - 25px );
	margin: 38px 0 0 38px;
}
.all_interview .all_interview_li:nth-child(3n+1) {
	margin-left: 0;
}
.all_interview .all_interview_li .ph {
	position: relative;
	container-type: inline-size;
}
.all_interview .all_interview_li .ph img {
	border-radius: 6px;
	width: 100%;
    aspect-ratio: 437 / 302;
    object-fit: cover;
}
.all_interview .all_interview_li .ph h3 {
    font-size: 3.85cqw;
    line-height: 1.8em;
    margin: 10px;
    position: absolute;
    left: 0;
    bottom: 0;
    font-weight: 500;
}
.all_interview .all_interview_li .txt .job_cat_txt {
	font-size: 1em;
	line-height: 1.5em;
	letter-spacing: 0.1em;
	font-weight: 500;
	display: inline-block;
	margin: 14px 0 0;
}
.all_interview .all_interview_li .txt .staff_name {
	font-size: 1.65em;
	line-height: 1em;
	letter-spacing: 0.1em;
	font-weight: 700;
	font-family: "Josefin Sans", sans-serif;
	margin: 14px 0 0;
	display: inline-block;
}
a.interview_btn {
	color: #1a1a1a;
	transition: all .3s;
}
a.interview_btn:hover {
	color: var(--themecolor02);
}
a.interview_btn .ph img {
	transition: .35s;
}
a.interview_btn:hover .ph img {
    box-shadow: 0px 0px 10px 10px rgba(0,0,0,0.07);
    filter: brightness(1.15);
    transform:scale(1.05,1.05);
}
.other_interview a.interview_btn:hover .ph img {
    box-shadow: unset;
    filter: brightness(1.15);
    transform:scale(1.05,1.05);
}

.page_title_contents.education:before {
    content: '';
    width: 100%;
    height: calc(100% - 100px);
    background: var(--bkcolor01);
    position: absolute;
    top: 100px;
    left: 0;
}
.page_title_contents.education .ttl-rl {
    writing-mode: vertical-rl;
    font-size: 7.7cqw;
    line-height: 2em;
    font-weight: 900;
    margin: 0.75em auto 0;
    position: relative;
    z-index: 2;
}
.page_title_contents.internship .fix_txt, 
.page_title_contents.education .fix_txt {
	font-family: "WindSong", cursive;
    font-size: 6cqw;
    line-height: 1.5em;
    color: #1a1a1a;
    z-index: 2;
}
.page_title_contents.internship .fix_txt_left,
.page_title_contents.education .fix_txt_left {
    text-align: left;
    mix-blend-mode: multiply;
    position: absolute;
    top: 10%;
    left: 5%;
    z-index: 2;
    transform: rotate(-4deg);
}
.page_title_contents.education {
    padding: 60px 0 0;
}
.page_title_contents.education .c2 .txt:before {
    content: '';
    width: 74%;
    height: 60%;
    position: absolute;
    right: 0;
    bottom: -100px;
    background: #fff;
}
.ttl_outher03 .ttl {
    font-size: 2em;
    text-align: left;
}


.contents.education_section:before {
	content: '';
    width: 100%;
    height: 20%;
    position: absolute;
    left: 0;
    top: 0;
    background: var(--bkcolor01);
}
.contents.education_section ._in {
    width: 90%;
    max-width: 90%;
    background: #ffff;
    margin-left: 10%;
    padding: 60px 0 0;
}
.education_section .education_li {
    padding: 0;
}
.education_section .education_li .education_c2:first-child {
    margin-top: 0;
}
.education_section .education_li .education_c2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    flex-direction: row-reverse;
    margin-top: 80px;
}
.education_section .education_li .education_c2.s_size {
    padding: 0 60px;
}
.education_section .education_li .education_c2:nth-of-type(even) {
    flex-direction: row;
}
.education_section .education_li .education_c2 .ph {
    width: 52%;
    text-align: center;
}
.education_section .education_li .education_c2.s_size .ph {
    width: 46%;
    text-align: center;
}
.education_section .education_li .education_c2 .ph img {
    border-radius: 6px 0px 0px 6px;
}
.education_section .education_li .education_c2.s_size .ph img {
    border-radius: 6px;
}
.education_section .education_li .education_c2:nth-of-type(even) .ph img {
    border-radius: 0px 6px 6px 0px;
}
.education_section .education_li .education_c2.s_size:nth-of-type(even) .ph img {
    border-radius: 6px;
}
.education_section .education_li .education_c2 .txt {
    width: calc( 48% - 120px );
    padding: 60px;
}
.education_section .education_li .education_c2.s_size .txt {
    width: 49%;
    padding: 20px 0 0;
}
.education_section .education_li .education_c2:nth-of-type(even) .txt {
    width: calc( 48% - 140px) ;
    padding: 60px;
    padding-right: 80px;
}
.education_section .education_li .education_c2.s_size:nth-of-type(even) .txt {
    width: 49%;
    padding: 20px 0 0;
}
.education_section .amazing {
    position: relative;
    margin: 100px auto 0;
    width: 90%;
    max-width: 1024px;
}
.education_section .amazing .ph {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}

.contents.why {
    background: var(--bkcolor01);
}
.contents.why ._in {
    width: 90%;
    max-width: 1430px;
    background: #ffff;
    border-radius: 8px;
    padding: 0;
}
.why .why_ttl {
    width: 90%;
    max-width: 1430px;
    text-align: center;
    margin: 0 auto -24px;
    padding-top: 24px;
    position: relative;
    z-index: 2;
}
.why .why_ttl h2 {
    margin-left: 24px;
}
.why .why_no1 {
	padding: 60px;
}
.why .why_no1 dl {
	margin-top: 80px;
}
.why .why_no1 dl:first-of-type {
	margin-top: 0;
}
.why .why_no1 .c2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	flex-direction: row-reverse;
	margin-top: 60px;
}
.why .why_no1 dd .c2:first-of-type {
	margin-top: 0;
}
.why .why_no1 dd .c2:nth-child(even) {
	flex-direction: row;
}
.why .why_no1 .c2 .ph {
	width: 46%;
}
.why .why_no1 .c2 .ph img {
	border-radius: 6px;
}
.why .why_no1 .c2 .txt {
	width: 50%;
	padding: 40px 0;
}
.why .why_no1 .c2 .txt .ch_ttl {
	font-size: 1.45em;
	font-weight: 600;
	line-height: 1.5em;
	padding-left: 2em;
	position: relative;
	margin-bottom: 18px;
	text-align: left;
}
.why .why_no1 .c2 .txt .ch_ttl:before {
	content: '';
	width: 1.5em;
    height: 1px;
    background: #1a1a1a;
    position: absolute;
    left: 0;
    top: 0.75em;
}

.contents.benefits_section {
    background: var(--bkcolor01);
}
.contents.benefits_section ._in {
    width: 90%;
    max-width: 1200px;
    padding: 30px 0 60px;
}
.benefits_section .inner {
    padding: 0 60px 60px 60px;
    background: #fff;
    border-radius: 8px;
}
.benefits_li {
	display: flex;
	flex-wrap: wrap;
}
.benefits_li .benefits_info {
	width: calc(33.3% - 28px);
    margin: 60px 0 0 42px;
}
.benefits_li .benefits_info:nth-child(3n+1) {
	margin-left: 0;
}
.benefits_li .benefits_info dt {
	text-align: center;
	background: var(--themecolor02);
	font-size: 1.4em;
	font-weight: 600;
	line-height: 1.5em;
	padding: 18px;
	border-radius: 4px;
	color: #fff;
}
.benefits_li .benefits_info dt.l2 {
    font-size: 1.2em;
    padding: 7px;
}
.benefits_li .benefits_info dd .icon {
	text-align: center;
	margin: 34px 0;
}

.contents.other_benefits ._in {
    width: 90%;
    max-width: 1360px;
}
.other_benefits .other_benefits_li {
	display: flex;
	flex-wrap: wrap;
}
.other_benefits_li .other_benefits_info {
	width: calc( 50% - 24px );
	margin: 60px 0 0 48px;
}
.other_benefits_li .other_benefits_info:nth-child(2n+1) {
	margin-left: 0;
}
.other_benefits_li .other_benefits_info .ph img {
	border-radius: 6px;
}
.other_benefits_li .other_benefits_info .txt {
	margin-top: 20px;
}
.other_benefits_li .other_benefits_info .txt h3 {
	font-size: 1.35em;
	font-weight: 600;
	line-height: 1.5em;
	color: var(--themecolor02);
	margin-bottom: 14px;
}

.other_benefits_ttl {
	display: flex;
	align-items: center;
	justify-content: center;
}
.other_benefits_ttl .ttl {
	font-size: 2.8em;
	line-height: 1.5em;
	font-weight: 600;
	margin-left: 0.5em;
}

.page_title_contents.internship:before {
    height: calc(100% - 100px);
    top: 100px;
    left: 0;
}
.page_title_contents.internship {
    padding: 60px 0 0;
}
.page_title_contents.internship .ttl-rl {
    writing-mode: vertical-rl;
    font-size: 9.5cqw;
    line-height: 2em;
    font-weight: 900;
    margin: 0.5em auto -0.5em;
    position: relative;
    z-index: 2;
    letter-spacing: 0.1em;
}
.page_title_contents.internship .c2 .txt:before {
    content: '';
    width: 74%;
    height: 60%;
    position: absolute;
    right: 0;
    bottom: -100px;
    background: #fff;
}

.contents.internship_section {
	z-index: 2;
}
.contents.internship_section:after {
    content: '';
    width: 100%;
    height: 50%;
    position: absolute;
    left: 0;
    top: 0;
    background: var(--bkcolor01);
}
.contents.internship_section ._in {
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 2;
    padding: 0 0 60px;
}
.internship_point {
	text-align: center;
	margin-bottom: 80px;
}
.internship_point .point_ttl {
	display: inline-block;
	margin: auto;
}
.internship_point .point_ttl h4 {
	font-size: 1.45em;
	font-weight: 600;
	line-height: 1.8em;
	font-weight: 600;
}
.internship_point .point_ttl h3 {
	font-size: 2.75em;
    line-height: 1.8em;
    font-weight: 800;
    margin: 10px 0 20px;
}
.internship_point .point_ttl h2 {
	font-family: "Josefin Sans", sans-serif;
    font-weight: 700;
    background: #2E3192;
    background: linear-gradient(90deg, rgba(46, 49, 146, 1) 0%, rgba(0, 145, 74, 1) 50%, rgba(228, 31, 31, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0em;
    line-height: 1em;
    font-size: 5.5em;
    display: inline-block;
}

.internship_point .point_li {
	display: inline-block;
	margin-top: 30px;
}
.internship_point .point_li .check_point {
	background: #f5f5f5;
	border-radius: 8px;
	padding: 24px 0;
	margin-top: 30px;
}
.internship_point .point_li .check_point:first-of-type {
	margin-top: 0;
}
.internship_point .point_li .check_point dt {
	display: flex;
	flex-wrap: wrap;
	text-align: left;
}
.internship_point .point_li .check_point dt .icon {
	width: 94px;
}
.internship_point .point_li .check_point dt .txt {
	width: calc( 100% - 104px );
}
.internship_point .point_li .check_point dt .txt .no {
	font-family: "Josefin Sans", sans-serif;
	color: var(--themecolor02);
	font-weight: 700;
}
.internship_point .point_li .check_point dt .txt .ttl {
	font-size: 2em;
	line-height: 1.5em;
	display: inline-block;
	margin-left: 0.75em;
	font-weight: 600;
	position: relative;
	padding-bottom: 8px;
}
.internship_point .point_li .check_point dt .txt .ttl:after {
	content: '';
	width: 100%;
	height: 4px;
	background: var(--themecolor08);
	position: absolute;
	left: 0;
	bottom: 0;
}
.internship_point .point_li .check_point dd {
	padding: 0 44px 0 116px;
	font-size: 1.1em;
	font-weight: 500;
	line-height: 1.8em;
}
.internship_point .point_li .point {
	margin-top: 50px;
}
.internship_point .point_li .point dt {
	font-size: 1.45em;
	line-height: 1.5em;
	font-weight: 600;
	text-align: left;
}
.internship_point .point_li .point dd {
	padding-top: 14px;
	font-size: 1em;
	font-weight: 500;
	line-height: 1.8em;
}
.internship_point .c3 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.internship_point .c3 li {
	margin: 14px;
	max-width: 240px;
	width: 30%;
	margin-top: 60px;
}

.internship_plan_ttl .ttl {
    font-size: 2.45em;
    line-height: 1.5em;
    text-align: left;
    margin-left: 42px;
}
.internship_plan_ttl .icon {
    margin-left: 0;
    margin-bottom: -40px;
    display: block;
}
.internship_plan_ttl .en {
    font-family: "Montserrat", sans-serif;
    font-size: 1em;
    line-height: 1em;
    margin-top: 0;
    font-weight: 600;
    margin-left: 42px;
    display: block;
}
.internship_plan_c2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    flex-direction: row-reverse;
    margin: 20px 0 0;
    align-items: center;
}
.internship_plan_c2 .txt {
    width: 42%;
    padding: 24px 0;
    text-align: center;
}
.internship_plan_c2 .ph {
    width: calc(54% + 44px);
    margin: 0 0 0;
    margin-right: -44px;
    position: relative;
}
.internship_plan_c2 .ph img {
    border-radius: 6px 0px 0px 6px;
}
.internship_plan .internship_plan_c2 .txt .ch_ttl {
    font-size: 1.65em;
    font-weight: 600;
    line-height: 2em;
    padding-left: 0;
    position: relative;
    margin-bottom: 18px;
    text-align: left;
    display: inline-block;
}
.days_5 .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	background: #d2d2d2;
	opacity: 0.8;
	margin: 0 4px;
}
.days_5 .swiper-pagination-bullet-active {
	width: 12px;
	height: 12px;
	background: var(--themecolor01);
	opacity: 1;
}
.days_5 .swiper-pagination {
    position: relative;
    margin-bottom: 0;
    margin-top: 4px;
}
.days_5 .swiper-pagination-bullets.swiper-pagination-horizontal {
	bottom: 0;
}
.internship_plan .section_columns_c1 {
    margin: 30px 0 0;
}

.program_li {
	border-top: 1px solid #e0e0e0;
	border-bottom: 1px solid #e0e0e0;
	padding: 14px 0;
}
.program_li .program {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 20px;
}
.program_li .program:first-of-type {
	margin-top: 0;
}
.program_li .program dt {
	font-family: "Josefin Sans", sans-serif;
    font-size: 1.2em;
    line-height: 2em;
    padding: 7px;
    width: 2em;
    text-align: center;
    writing-mode: vertical-rl;
    text-orientation: upright;
    background: #f5f5f5;
    font-weight: 600;
    border-radius: 2px;
}
.program_li .program dt.program1 {
    background: #d3e9f3;
}
.program_li .program dt.program2 {
    background: #e1efc2;
}
.program_li .program dt.program3 {
    background: #ceeadc;
}
.program_li .program dt.program4 {
    background: #fff6c2;
}
.program_li .program dt.program5 {
    background: #fadadd;
}
.program_li .program dt.program6 {
    background: #d3dcf3;
}
.program_li .program dd {
	width: calc( 100% - 5.5em );
	padding: 24px 0;
}
.program_li .program dd .c2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.program_li .program:nth-child(even) dd .c2 {
	flex-direction: row;
}
.program_li .program dd .c2 .ph {
	width: 40%;
}
.program_li .program dd .c2 .ph img {
	border-radius: 4px;
}
.program_li .program dd .c2 .txt {
	width: 56%;
}
.program_li .program dd .c2 .txt h4 {
	font-size: 1.3em;
	line-height: 1.5em;
	font-weight: 600;
	margin-bottom: 10px;
}
.program_point {
	margin-top: 30px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.program_point h5 {
	width: 12em;
	text-align: center;
	font-size: 1em;
}
.program_point h5 .icon {
	text-align: center;
	display: block;
}
.program_point h5 .icon img {
	width: 84px;
}
.program_point .txt {
	width: calc( 100% - 14em );
	font-weight: 600;
}
.program_point .txt .indent_ul li {
	font-size: 1.1em;
	line-height: 1.5em;
	margin: 10px 0;
	margin-left: 1em;
}
.internship_plan .sub_ch {
	font-size: 1.65em;
    font-weight: 600;
    line-height: 2em;
    margin-bottom: 18px;
    text-align: left;
}
.internship_plan .entry_btn_li ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 30px;
}
.internship_plan .entry_btn_li ul li {
	margin-left: 14px;
	min-width: 350px;
}
.internship_plan .entry_btn_li ul li:first-of-type {
	margin-left: 0;
}
.internship_plan .entry_btn_li ul li a.entry_btn {
    font-size: 1.35em;
}

.page_title_contents.requirement:before {
    content: '';
    width: 100%;
    height: calc(100% - 100px);
    background: var(--bkcolor01);
    position: absolute;
    top: 100px;
    left: 0;
}
.page_title_contents .entry_btn_li {
	padding-bottom: 24px;
}
.page_title_contents .entry_btn_li ul {
	display: flex;
	flex-wrap: wrap;
	width: 90%;
	max-width: 1400px;
	margin: auto;
}
.page_title_contents .entry_btn_li ul li {
	width: calc( 33.3% - 20px );
	margin: 14px 0 0 30px;
}
.page_title_contents .entry_btn_li ul li:first-of-type {
	margin-left: 0;
}

.contents.requirement_section ._in {
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 2;
    padding: 0 0 60px;
}
.contents.requirement_section:after {
    content: '';
    width: 100%;
    height: 50%;
    position: absolute;
    left: 0;
    top: 0;
    background: var(--bkcolor01);
}
.requirement_section .section_columns .inner {
    padding: 44px;
    padding-right: 6%;
}
.requirement_section .requirement_post {
	margin-bottom: 80px;
}
.job_type .job_type_info dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 1.1em;
	line-height: 1.8em;
}
.job_type .job_type_info dl dt {
	padding: 24px 0;
	width: 9em;
	border-bottom: 1px solid #9c9aab;
	font-size: 1.1em;
	font-weight: 500;
}
.job_type .job_type_info dl dd {
	padding: 24px 0;
	padding-left: 2em;
	width: calc( 100% - 12em );
	border-bottom: 1px solid #d8d8d8;
}
.job_type .entry_btn_li ul {
	width: 90%;
	max-width: 340px;
	margin: 30px auto 0;
}
.section_columns_li a.entry_btn {
    padding: 24px 24px;
}

.ttl_outher05 {
	position: relative;
	padding-left: 24px;
	border-bottom: 1px solid #d8d8d8;
	margin-bottom: 24px;
}
.ttl_outher05:before {
	content: '';
	width: 4px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: var(--themecolor01);
	border-radius: 10px;
}
.ttl_outher05:after {
	content: '';
	width: 4px;
	height: 50%;
	position: absolute;
	top: 50%;
	left: 0;
	background: var(--themecolor02);
	border-radius: 10px;
}
.ttl_outher05 .ttl {
    font-size: 1.75em;
    line-height: 1.5em;
    padding: 5px 0 9px;
    letter-spacing: 0.1em;
}


.page_title_contents.message .ttl-rl {
    writing-mode: vertical-rl;
    font-size: 6.4cqw;
    line-height: 2em;
    font-weight: 900;
    margin: 0.75em auto 0;
    position: relative;
    z-index: 2;
}
.page_title_contents.message .fix_txt {
    font-family: "WindSong", cursive;
    font-size: 6cqw;
    line-height: 1.5em;
    color: #ffffff;
    z-index: 2;
}
.page_title_contents.message .fix_txt_left {
    text-align: left;
    mix-blend-mode: unset;
    position: absolute;
    top: unset;
    bottom: 5%;
    left: 5%;
    z-index: 2;
    transform: rotate(-4deg);
}
.page_title_contents.message .c2 .txt:before {
    content: '';
    width: 74%;
    height: 60%;
    position: absolute;
    right: 0;
    bottom: -100px;
    background: #fff;
}
.page_title_contents.message {
    position: relative;
    padding: 60px 0 0;
}
.contents.message_section:before {
    content: '';
    width: 100%;
    height: 40%;
    position: absolute;
    left: 0;
    top: 0;
    background: var(--bkcolor01);
}
.contents.message_section ._in {
    width: 90%;
    max-width: 90%;
    background: #ffff;
    margin-left: 10%;
    padding: 60px 0 100px;
}
.message_section .ceo_message {
    padding: 0 44px 44px 44px;
}
.ceo_message .ceo_message_txt {
    font-size: 1em;
    line-height: 2em;
}
.ceo_message .ceo_message_txt.c2 {
    margin: 34px 0;
}
.ceo_message .ceo_message_txt.c2 .ph {
    float: right;
    width: 44%;
    margin-right: -44px;
    margin-left: 44px;
}
.ceo_message .ceo_message_txt.c2 .ph img {
    border-radius: 6px 0px 0px 6px;
}
.ceo_message .ceo_txt {
    text-align: left;
    font-family: "Shippori Mincho", serif;
    letter-spacing: 0.1em;
    margin-top: 64px;
}
.ceo_message .ceo_txt .ceo_name {
    font-size: 1.4em;
}
/*
.ceo_message .ceo_message_c2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    flex-direction: row-reverse;
}
.ceo_message .ceo_message_c2 .ph {
    width: 42%;
    text-align: center;
    margin-right: -44px;
}
.ceo_message .ceo_message_c2 .txt {
    width: 56%;
}
*/

.company .by_the_numbers {
	position: relative;
	background: var(--bkcolor01);
	padding: 6vw;
	padding-top: 50px;
	padding-bottom: 0;
}
.company .by_the_numbers .by_the_numbers_ttl {
	margin-top: -80px;
}
.company .by_the_numbers .ttl_outher01 {
    margin-bottom: 0;
}
.company .by_the_numbers .ttl {
	font-size: 2.6em;
	line-height: 1.5em;
	letter-spacing: 0.1em;
	font-weight: 800;
	text-align: center;
}
.company .by_the_numbers ._in {
	background: #fff;
	padding: 24px;
	border-radius: 4px;
	width: auto;
	max-width: auto;
	margin: 34px auto 0;
}
.company .by_the_numbers ._in .c2 {
	display: flex;
	flex-wrap: wrap;
}
.company .by_the_numbers ._in .same3c {
	display: flex;
	flex-wrap: wrap;
}
.by_the_numbers .same3c .company_data {
	width: calc( 33.3% - 16px - 48px );
    padding: 24px;
    background: #fff;
    margin-top: 24px;
    margin-left: 24px;
}
.by_the_numbers .company_data dt {
	font-size: 1.65em;
    font-weight: 600;
    line-height: 1.5em;
    letter-spacing: 0.05em;
	color: var(--themecolor02);
	text-align: center;
}
.by_the_numbers .company_data dt .company_data_ttl {
	display: inline-block;
	position: relative;
	text-align: left;
}
.by_the_numbers .company_data dt .icon {
    margin-left: 0;
    margin-bottom: -24px;
    display: block;
}
.by_the_numbers .company_data dt .data_ttl {
    display: inline-block;
    position: relative;
    margin-left: 18px;
    padding-bottom: 4px;
}
.by_the_numbers .company_data dt .data_ttl .s_txt {
    font-size: 0.7em;
    letter-spacing: 0;
    display: inline-block;
}
.by_the_numbers .company_data dt .data_ttl:after {
   	content: '';
   	width: 100%;
   	height: 3px;
   	background: var(--themecolor08);
    position: absolute;
    left: 0;
    bottom: 0;
}
.by_the_numbers .company_data .ph img {
	width: 100%;
	max-width: 730px;
}
.by_the_numbers .company_data .ch_txt {
	display: inline-block;
	margin: 34px auto 0;
}
.by_the_numbers .company_data .right_txt {
	text-align: right;
	margin-top: 18px;
}
.by_the_numbers .same3c .company_data:nth-child(3n+1) {
	margin-left: 0;
}
.company .by_the_numbers ._in .c2 .size2 {
	width: calc( 66.6% - 48px );
    padding: 24px;
    background: #fff;
    margin-top: 24px;
}
.company .by_the_numbers ._in .c2 .size1 {
	width: calc( 33.3% - 48px );
    padding: 24px;
    background: #fff;
    margin-top: 24px;
}
.company .by_the_numbers ._in .c2 .size1 .company_data,
.company .by_the_numbers ._in .c2 .size2 .company_data {
	width: 100%;
}
.same2c {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.same2c ._company_data {
	width: 48%;
}
.same2c ._company_data h3 {
	font-size: 1.4em;
	line-height: 1.5em;
	font-weight: 600;
	color: var(--themecolor02);
	margin: 34px 0 -14px;
}
.canvas_ph.area .__cp.__cp03 {
    position: absolute;
    top: -30px;
    left: 62cqw;
}
.canvas_ph.area .__cp.__cp04 {
    position: absolute;
    top: 224px;
    left: -16cqw;
}
.canvas_ph.area .__cp.__cp05 {
    poosition: absolute;
    top: -10px;
    left: 2cqw;
}


.canvasBox canvas {
	width: 100%;
}
.company_data .canvasBox {
	width: 100%;
	height: 300px;
}
.company_data .uriage .canvasBox {
	height: 220px;
}
.company_data .ph {
    padding: 54px 0 34px;
    text-align: center;
}
.company_data .ph.m14 {
    padding: 14px 0 14px;
}
.company_data .canvas_ph {
    position: relative;
    container-type: inline-size;
    max-width: 340px;
    margin: auto;
    display: flex;
    justify-content: center;
}
.company_data .canvas_ph.uriage {
    position: relative;
    container-type: inline-size;
    max-width: 380px;
    margin: auto;
    display: flex;
    justify-content: center;
    flex-direction: column;
}
.company_data .canvas_ph.uriage .canvasBox {
	width: 100%;
}
.canvas_ph .__cp {
	font-size: 5.2cqw;
	font-weight: 600;
	line-height: 1.5em;
	text-align: center;
}
.canvas_ph .__cp .num {
	font-size: 1.6em;
	text-align: center;
}
.canvas_ph .__cp .icon {
	display: inline-block;
	margin-left: 4px;
}
.canvas_ph .__cp .icon img {
	height: 40px;
}
.canvas_ph .__cp .icon.g_1_03 img {
	height: 34px;
}
.canvas_ph .__cp .st {
	font-size: 8cqw;
	line-height: 1em;
}
.canvas_ph .__cp.__cp01 {
    position: absolute;
    top: -32px;
    left: 50cqw;
}
.canvas_ph .__cp.__cp02 {
    position: absolute;
    top: 262px;
    left: 7cqw;
}
.canvas_ph .__cp.__cp_main {
	font-size: 5.5cqw;
	font-weight: 600;
	line-height: 1.5em;
	text-align: center;
}
.canvas_ph .__cp.__cp_main .st {
	font-size: 12.5cqw;
	line-height: 1em;
	color: var(--themecolor02);
}
.canvas_ph .__cp.__cp_main .st.s_txt {
	font-size: 7.5cqw;
}
.canvas_ph .__cp.__cp_main {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--themecolor02);
}
.canvas_ph .__cp.__cp_main.relative {
    position: relative;
    text-align: center;
    top: unset;
    left: unset;
    transform: unset;
    color: var(--basefontcolor);
}
.canvas_ph.wariai1 .__cp.__cp01 {
    position: absolute;
    top: -16px;
    left: 62cqw;
}
.canvas_ph.wariai2 .__cp.__cp01 {
    position: absolute;
    top: -16px;
    left: 62cqw;
}

.canvas_ph .__cp.__cp03 {
	position: absolute;
    top: -16px;
    left: 68cqw;
}
.canvas_ph .__cp.__cp04 {
	position: absolute;
    top: 262px;
    left: 7cqw;
}
.canvas_ph .__cp.__cp05 {
    position: absolute;
    top: -16px;
    left: 70cqw;
}
.company_data.h_day .ph {
    padding: 7px 0;
	max-width: 295px;
    margin: auto;
}
.canvas_ph.danjo .__cp.__cp04 {
    position: absolute;
    top: -11px;
    left: 7cqw;
}


.page_title_contents.crosstalk ._in:before {
	content: '';
    width: 100%;
    height: calc(50% - 40px);
    position: absolute;
    top: 40px;
    left: 0;
    background: #e5f4fc;
}
.page_title_contents.crosstalk ._in {
	z-index: 2;
}
.page_title_contents.crosstalk .c1 {
	position: relative;
	padding-top: 60px;
}
.page_title_contents.crosstalk:before {
    height: calc(100% - 100px);
    top: 100px;
    left: 0;
    background: #45b3e7;
}
.page_title_contents.crosstalk:after {
	content: '';
	width: 100%;
    height: calc(100% - 100px);
    position: absolute;
    top: 100px;
    left: 0;
    background: url(../../../img/rec/crosstalk/dot01.svg);
    mix-blend-mode: multiply;
    opacity: 0.15;
}
.page_title_contents.crosstalk .c1 .txt {
	color: #fff;
	margin-top: -80px;
}
.page_title_contents.crosstalk .c1 .txt h2 {
	text-align: center;
	font-size: 3em;
	font-weight: 600;
	line-height: 1.5em;
	letter-spacing: 0.1em;
}
.page_title_contents.crosstalk .c1 .txt p {
	text-align: left;
	font-size: 1.35em;
	font-weight: 600;
	line-height: 2em;
	display: inline-block;
	margin: 34px auto 0;
	letter-spacing: 0.1em;
}
.page_title_contents.crosstalk .realvoice_img {
	position: absolute;
    top: 14px;
    left: 58%;
}
.menber {
	background: #fffce8;
	position: relative;
}
.menber ._in {
	width: 90%;
	max-width: 1140px;
	margin: auto;
	padding: 60px 0;
}
.menber .menber_li {
	display: flex;
	flex-wrap: wrap;
	position: relative;
}
.menber .menber_li li {
	width: calc( 20% - 36px );
	margin-left: 44px;
}
.menber .menber_li li:first-of-type {
	margin-left: 0;
}
.menber .menber_li li .ph img {
	border-radius: 50%;
	background: #fff;
}
.menber .menber_li li .txt {
	margin-top: 14px;
	text-align: center;
	font-size: 0.9em;
	line-height: 1.5em;
}
.menber .menber_li li .txt .name {
	font-size: 1.45em;
	line-height: 1.5em;
	display: block;
	text-align: center;
	font-weight: 600;
}
.menber .menber_i {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 70%;
	max-width: 840px;
}
.menber .menber_i img {
	width: 100%;
}
.contents.crosstalk_section {
    z-index: 2;
}
.contents.crosstalk_section ._in {
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 2;
    padding: 0 0 0;
}
.crosstalk_section .side_fix_nav {
    width: calc(20% - 5%);
    padding: 60px 0;
    padding-left: 5%;
    position: relative;
    z-index: 2;
}
.crosstalk_section .side_fix_nav .side_fix_nav_li li a {
	color: #fff;
}
.crosstalk_section .section_columns {
    width: 80%;
    background: transparent;
    border-radius: 0;
}
.section_columns .talk_theme {
	position: relative;
}
.section_columns .talk_theme.theme1:before {
	content: '';
	background: #45b3e7;
	width: 125%;
	height: 100%;
	position: absolute;
	left: -25%;
	top: 0;
}
.section_columns .talk_theme.theme1:after {
	content: '';
	width: 125%;
	height: 100%;
    position: absolute;
	left: -25%;
	top: 0;
    background: url(../../../img/rec/crosstalk/dot01.svg);
    mix-blend-mode: multiply;
    opacity: 0.15;
}
.section_columns .talk_theme.theme2:before {
	content: '';
	background: #a5cf4c;
	width: 125%;
	height: 100%;
	position: absolute;
	left: -25%;
	top: 0;
}
.section_columns .talk_theme.theme2:after {
	content: '';
	width: 125%;
	height: 100%;
    position: absolute;
	left: -25%;
	top: 0;
    background: url(../../../img/rec/crosstalk/dot02.svg);
    mix-blend-mode: multiply;
    opacity: 0.15;
}
.section_columns .talk_theme.theme3:before {
	content: '';
	background: #f0c8c8;
	width: 125%;
	height: 100%;
	position: absolute;
	left: -25%;
	top: 0;
}
.section_columns .talk_theme.theme3:after {
	content: '';
	width: 125%;
	height: 100%;
    position: absolute;
	left: -25%;
	top: 0;
    background: url(../../../img/rec/crosstalk/dot03.svg);
    mix-blend-mode: multiply;
    opacity: 0.15;
}
.section_columns .talk_theme .c_top {
	position: relative;
	text-align: right;
	z-index: 2;
	margin-bottom: -40px;
}
.section_columns .talk_theme ._inner {
	position: relative;
	z-index: 2;
	margin-right: 10%;
}

.talk_theme_ttl {
	color: #fff;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.talk_theme_ttl .talk_theme_no {
	width: 94px;
	position: relative;
	text-align: center;
	font-family: "Montserrat", sans-serif;
}
.talk_theme_ttl .talk_theme_no .icon {
	display: block;
	text-align: center;
	margin-bottom: -24px;
}
.talk_theme_ttl .talk_theme_no .no {
	display: block;
	text-align: center;
	font-size: 4em;
	line-height: 1em;
	font-weight: 600;
}
.talk_theme_ttl .talk_theme_no .t {
	display: block;
	font-weight: 600;
	text-align: center;
	line-height: 1em;
	line-height: 1.2em;
}
.talk_theme_ttl .talk_ttl {
	width: calc( 100% - 120px );
	margin: 36px 0 0 0;
}
.talk_theme_ttl .talk_ttl .talk_cat {
	font-size: 1.65em;
	line-height: 1.5em;
	font-weight: 600;
	letter-spacing: 0.1em;
}
.talk_theme_ttl .talk_ttl .theme_ttl {
	font-size: 2.15em;
	line-height: 1.5em;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-align: left;
}
.what_talk_theme {
	color: #fff;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	border-bottom: 1px dashed #fff;
	padding-bottom: 18px;
	margin: 0 0 54px;
}
.what_talk_theme .icon {
	display: block;
	width: 45px;
}
.what_talk_theme h3 {
	width: calc( 100% - 60px );
	font-size: 1.65em;
	line-height: 1.5em;
	font-weight: 600;
}

.talk_session {
	margin-top: 100px;
}
.talk_session.first {
	margin-top: 60px;
}
.talk_session_li dl {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	margin-top: 60px;
}
.talk_session_li dl:nth-child(even) {
	flex-direction: row-reverse;
}
.talk_session_li dl dt {
	width: 150px;
}
.talk_session_li dl dt .ph img {
	width: 100%;
	border-radius: 50%;
	background: #fff;
}
.talk_session_li dl dt .name {
	display: block;
	text-align: center;
	margin-top: 7px;
	font-size: 1.1em;
	line-height: 1em;
	color: #fff;
	font-weight: 600;
}
.talk_session_li dl dd {
	font-family: "Zen Kurenaido", sans-serif;
	font-weight: 400;
	font-style: normal;
	position: relative;
	border-radius: 8px;
	background: #fff;
	width: calc( 90% - 170px );
	margin: 0 24px;
	font-size: 1.2em;
	line-height: 1.8em;
	box-shadow: 0px 8px 0px 0px rgba(0, 0, 0, 0.1);
}
.talk_session_li dl:nth-child(even) dd:before {
	content: '';
	height: 0; width: 0;
	border: solid;
	border-color: rgba(0, 0, 0, 0);
	border-top-color: #fff;
	border-width: 24px 30px 16px 0;
    position: absolute;
    top: 20px;
    right: -24px;
    left: unset;
}
.talk_session_li dl dd:before {
	content: '';
	height: 0; width: 0;
	border: solid;
	border-color: rgba(0, 0, 0, 0);
	border-top-color: #fff;
	border-width: 24px 0px 16px 30px;
    position: absolute;
    top: 20px;
    left: -24px;
    right: unset;
}
.talk_session_li dl dd .__inner {
	position: relative;
	padding: 24px;
}
.talk_session_li dl dd .icon {
	position: absolute;
	top: -22px;
}
.talk_session_li dl dd .icon.t_l {
	left: 12px;
}
.talk_session_li dl dd .icon.t_r {
	right: 12px;
}

.talk_session_bottom {
	position: relative;
	z-index: 1;
	width: 125%;
	margin-left: -25%;
	padding-top: 100px;
}
.theme3 .talk_session_bottom:before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
	width: 125%;
	height: 9px;
	background: var(--bkcolor01);
	margin-left: -25%;
}
.talk_session_bottom .c_bottom {
	width: 100%;
	height: 200px;
	background: url(../../../img/rec/crosstalk/c_bottom.svg);
	background-position: center top;
	background-repeat: repeat-x;
	position: absolute;
    z-index: 1;
    bottom: 9px;
}
.talk_session_bottom .c_bottom.mb12 {
    bottom: 12px;
}
.talk_session_bottom .staff01 {
	container-type: inline-size;
	width: 80%;
	max-width: 681px;
	margin: auto;
	margin-bottom: -9px;
	position: relative;
	z-index: 2;
}
.talk_session_bottom .staff02 {
    container-type: inline-size;
    width: 80%;
    max-width: 681px;
    margin: auto;
    margin-bottom: -12px;
    position: relative;
    z-index: 2;
}


.talk_session_bottom .staff01 .fix_txt_left {
    text-align: center;
    transform: rotate(-4deg);
}
.talk_session_bottom .staff01 .fix_txt {
    font-family: "WindSong", cursive;
    font-size: 6cqw;
    color: #fff;
}
.talk_session_bottom .staff02 .fix_txt_left {
    text-align: center;
    transform: rotate(-4deg);
}
.talk_session_bottom .staff02 .fix_txt {
    font-family: "WindSong", cursive;
    font-size: 6cqw;
    color: #fff;
}

.contents.contact_form {
	background: #f5f5f5;
}
.contents.contact_form ._in {
	max-width: 1100px;
	padding: 0px 0 100px;
	text-align: center;
}
.contents.contact_form ._inner {
	background: #fff;
	padding: 34px 34px 54px;
	border-radius: 2px;
	margin-bottom: 0;
}
.contents.contact_form .contact_form_ttl {
	text-align: center;
    margin-bottom: 18px;
    font-size: 3.4em;
    line-height: 1.5em;
    font-weight: 900;
}
.contents.contact_form .contact_form_ttl_ch {
	text-align: center;
    margin-bottom: 48px;
    font-size: 1.2em;
    line-height: 1.5em;
    font-weight: 600;
}
.contents.contact_form .contact_form_ch {
	display: inline-block;
	margin: 24px auto 44px;
	font-size: 1em;
    line-height: 2em;
    font-weight: 500;
}
.contents.contact_form .contact_form_ch a {
	color: #1a1a1a;
	transition: .35s;
}
.contents.contact_form .contact_form_ch a:hover {
	color: var(--themecolor01);
}

.contact_form .form {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 24px 0;
	font-size: 1em;
	line-height: 1.5em;
}
.contact_form .form .indent_p {
	font-size: 0.9em;
	line-height: 1.5em;
	text-indent: -1em;
	margin-left: 1em;
}
.contact_form .form dt {
	width: 12em;
	padding: 14px 0;
	text-align: left;
	line-height: 1.5em;
}
.contact_form .form dt.col2 {
	padding: 4px 0;
}
.contact_form .form dt.w100 {
	width: 100%;
	padding: 14px 0 7px;
}
.contact_form .form dt .s_txt {
	font-size: 0.8em;
	line-height: 1.5em;
	display: block;
}
.contact_form .form dd {
	width: calc( 100% - 13em );
}
.contact_form .form dd.w100 {
	width: 100%;
}
.contact_form .transfer_account {
	border: 1px solid var(--themecolor07);
	margin: 34px 0 14px;
	border-radius: 2px;
	padding: 24px;
}
.contact_form .transfer_account h4 {
	padding-bottom: 10px;
}
.contact_form .transfer_account .__inner {
	padding: 24px 24px 24px 14px;
	height: 200px;
	overflow-y: scroll; 
	border-top: 1px solid var(--themecolor07);
	border-bottom: 1px solid var(--themecolor07);
	margin-bottom: 18px;
}

.contact_form .transfer_account .__inner dl {
	margin-top: 24px;
}
.contact_form .transfer_account .__inner dl:first-of-type {
	margin-top: 0;
}
.contact_form .transfer_account .__inner dt {
	padding-bottom: 14px;
	line-height: 1em;
	text-align: left;
}
.contact_form .transfer_account .__inner dt::first-letter {
	color: var(--themecolor02);
}
.contact_form .transfer_account .__inner dd .account {
	padding: 18px 24px;
	border-radius: 2px;
	background: #fff;
}
.contact_form .transfer_account .__inner .s_txt {
	font-size: 0.8em;
	line-height: 1.8em;
	margin-bottom: 7px;
	border-top: 1px solid #f1e6da;
	padding-top: 14px;
}

.form ._c01 {
    display: inline-block;
    padding: 5px 7px;
    border-radius: 4px;
    background: var(--themecolor02);
    color: #fff;
    font-size: 0.7em;
    line-height: 1em;
    margin-left: 7px;
}
.btn_submit {
  	background: var(--themecolor01);
  	color: #fff;
  	padding: 30px 30px 30px 30px;
  	font-size: 1.2em;
  	line-height: 1em;
  	letter-spacing: 0.1em;
  	border-radius: 2px;
  	min-width: 200px;
  	display: inline-block;
  	position: relative;
  	transition: .35s;
  	cursor: pointer;
}
.btn_submit:hover {
  	background: var(--themecolor02);
}
.selectbox {
    display: flex;
    align-items: center;
    position: relative;
    max-width: 426px;
}
.selectbox::after {
    position: absolute;
    right: 15px;
    width: 10px;
    height: 7px;
    background-color: var(--themecolor02);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}
.selectbox select {
    appearance: none;
    width: 100%;
    height: 2em;
    padding: .8em calc(.8em + 30px) .8em .8em;
    border: 1px solid var(--themecolor07);
    border-radius: 3px;
    background-color: #fff;
    font-size: 1em;
    cursor: pointer;
}
.checkbox-1 {
    display: flex;
    flex-wrap: wrap;
    gap: .5em 2em;
    border: none;
    font-size: 1.1em;
    line-height: 1em;
}
.checkbox-1 label {
    display: flex;
    align-items: center;
    gap: 0 .5em;
    position: relative;
    cursor: pointer;
}
.checkbox-1 label::before,
.checkbox-1 label:has(:checked)::after {
    content: '';
}
.checkbox-1 label::before {
    width: 18px;
    height: 18px;
    border-radius: 2px;
    background-color: #e2e2ec;
}
.checkbox-1 label:has(:checked)::before {
    background-color: var(--themecolor02);
}
.checkbox-1 label:has(:checked)::after {
    position: absolute;
    top: 3px;
    left: 6px;
    transform: rotate(45deg);
    width: 4px;
    height: 8px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
}
.checkbox-1 input {
    display: none;
}
.checkbox_center ._c01 {
    display: inline-block;
    padding: 5px 7px;
    border-radius: 4px;
    background: var(--themecolor02);
    color: #fff;
    font-size: 0.7em;
    line-height: 1em;
    margin-left: 7px;
}
.checkbox_center {
	display: flex;
	justify-content: center;
	align-items: center;
}

.transfer_account .scroll__inner {
	text-align: left;
  	background-color: #ffffff;
  	height: 200px;
  	padding: 24px 30px 24px 14px;
  	overflow-y: scroll;
  	-ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
  
  	border-top: 1px solid var(--themecolor07);
	border-bottom: 1px solid var(--themecolor07);
	margin-bottom: 18px;
}
.transfer_account .scroll__inner::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  	display: none;
}
.transfer_account .simplebar-scrollbar::before {
	background: var(--themecolor01) !important;
	opacity: 1;
	border-radius: 2px;
	width: 5px;
	margin-left: 3px;
	margin-top: 2px;
}
.transfer_account .simplebar-scrollbar.simplebar-visible::before {
	opacity: 1;
}
.transfer_account .simplebar-track {
	background: #f5f5f5;
	width: 15px !important;
}

.radio li {
    display: inline-block;
}

.radio input {
    display: none;
}

.radio label {
    display: block;
    position: relative;
    cursor: pointer;
    margin-left: 10px;
    padding: 10px 5px 10px 15px;
    border-radius: 2px;
    line-height: 1.5em;
}

.radio._inline label {
    display: inline-block;
}

.radio label:before {
    position: absolute;
    content: "";
    top: 50%;
    left: -10px;
    width: 12px;
    height: 12px;
    margin-top: -10px;
    background: #fff;
    border-radius: 50%;
    border: 4px solid #bdc3c7;
}
.radio input[type="radio"]:checked+span:after,
.radio input[type="radio"]:checked+label:after {
    position: absolute;
    content: "";
    top: 50%;
    left: -6px;
    width: 12px;
    height: 12px;
    margin-top: -6px;
    border-radius: 50%;
    background: var(--themecolor02);
}
.radio .wpcf7-list-item {
    display: inline-block;
    margin: 0 3em 0 0;
}
.atent_center {
	text-align: center;
	margin: 34px 0 28px;
}

.captcha_label {
	text-align: center;
	display: inline-block;
}
.captcha_label label {
	display: inline-block;
	margin: 14px auto 0;
	text-align: left;
}
.captcha_label label input {
	margin: 10px auto 0;
	display: block;
	width: calc(100% - 26px);
}
.wpcf7-spinner {
    margin: 0;
    margin-right: -24px;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
    border: 4px solid #85c6a7;
    background: #fff;
    padding: 50px;
    margin: 0 0 2em;
}
.wpcf7 form.sent .wpcf7-response-output {
    border: 4px solid #00914a;
    background: #fff;
    padding: 50px;
    margin: 0 0 2em;
}
input:-webkit-autofill, select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #fff inset;
}

.wpcf7c-conf {
	background-color: #fff !important;
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
    border: 4px solid #b4b4d1;
    background: #fff;
    padding: 50px;
}

.wpcf7-not-valid-tip {
    font-size: 0.9em;
    padding-top: 4px;
}

.wpcf7-form-control-wrap .wpcf7-not-valid-tip {
	display: none;
}

.wpcf7-form-control-wrap.is-show .wpcf7-not-valid-tip {
	display: block;
}

.p-custom-pagenation {
    padding: 30px 0 60px;
}

.p-custom-pagenation ul.page-numbers {
    list-style: none;
    display: flex;
    justify-content: center;
    align-items: center
}

.p-custom-pagenation ul.page-numbers>li {
    padding-left: 2px;
    padding-right: 2px
}

.p-custom-pagenation ul.page-numbers>li>.page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 31px;
    height: 31px;
    border-radius: 50%;
    font-size: 1.1em;
    font-weight: 600;
    font-family: 'Lato', sans-serif;
    color: #1a1a1a;
    transition: .35s;
}
.p-custom-pagenation ul.page-numbers>li>.page-numbers:hover {
    color: var(--themecolor08);
}

.p-custom-pagenation ul.page-numbers>li>.page-numbers.current {
    color: #fff;
    background-color: var(--themecolor02);
}

.p-custom-pagenation ul.page-numbers>li>.page-numbers.next {
    padding-bottom: 2px
}

.p-custom-pagenation ul.page-numbers>li>.page-numbers.prev {
    padding-bottom: 2px
}

#page-topBtn {
    position: fixed;
    bottom: 12%;
    right: 2%;
    font-size: 110%;
    z-index: 99;
}
#page-topBtn a {
    background: rgba(28, 26, 128, 0.9);
    text-decoration: none;
    color: #fff;
    text-align: center;
    display: block;
    border-radius: 2px 0px 0px 0px;
    transition: all 0.3s ease;
    line-height: 2.5em;
    height: 3em;
    width: 3em;
}
#page-topBtn a:hover {
    text-decoration: none;
    background: rgba(28, 26, 128, 0.5);
}

#page-topBtn {
    position: fixed;
    bottom: 0;
    right: 0;
    font-size: 1.1em;
    z-index: 99;
}
.dli-chevron-up {
  display: inline-block;
  vertical-align: middle;
  color: #ffff;
  line-height: 1;
  width: 0.5em;
  height: 0.5em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(25%) rotate(-45deg);
}


.appeal_li {
	display: inline-block;
	margin-top: 30px;
}
.appeal_li .check_point {
	background: #f5f5f5;
	border-radius: 8px;
	padding: 24px 24px 24px 0;
	margin-top: 30px;
}
.appeal_li .check_point:first-of-type {
	margin-top: 0;
}
.appeal_li .check_point dt {
	display: flex;
	flex-wrap: wrap;
	text-align: left;
}
.appeal_li .check_point dt .icon {
	width: 94px;
}
.appeal_li .check_point dt .txt {
	width: calc( 100% - 104px );
}
.appeal_li .check_point dt .txt .no {
	font-family: "Josefin Sans", sans-serif;
	color: var(--themecolor02);
	font-weight: 900;
}
.appeal_li .check_point dt .txt .ttl {
	font-size: 2em;
	line-height: 1.5em;
	display: inline-block;
	margin-left: 0.75em;
	font-weight: 600;
	position: relative;
	padding-bottom: 8px;
	white-space: nowrap;
}
.appeal_li .check_point dt .txt .ttl:after {
	content: '';
	width: 100%;
	height: 4px;
	background: var(--themecolor08);
	position: absolute;
	left: 0;
	bottom: 0;
}
.appeal_li .check_point dd {
}


:root {
  --easing: cubic-bezier(.2, 1, .2, 1);
  --transition: .8s var(--easing);
  --color-base: #f8f8f8;
  --color-gray: #ddd;
  --color-theme: #f5695f;
  --color-theme-darken: #f12617;
  --box-shadow: .8rem .8rem 1.2rem rgba(0, 0, 0, .05), -.8rem -.8rem 1.2rem #fff;
  --box-shadow-hover: 1rem 1rem 1.5rem rgba(0, 0, 0, .08), -1rem -1rem 1.5rem #fff;
  --box-shadow-inset: inset .8rem .8rem 1.2rem rgba(0, 0, 0, .05), inset -.8rem -.8rem 1.2rem #fff;
  --box-shadow-dark: .8rem .8rem 1.2rem rgba(0, 0, 0, .1), -.8rem -.8rem 1.2rem rgba(#fff,.2);
}

.l-inner {
  position: relative;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 10rem;
}

.l-section .l-inner {
  padding-top: 8rem;
  padding-bottom: 8rem;
}

[class*=swiper]:focus {
  outline: none;
}

.slide-media,
.thumb-media {
  position: relative;
  overflow: hidden;
}
.slide-media img,
.thumb-media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}


.swiper-button-prev, .swiper-button-next {
  display: grid;
  place-content: center;
  width: 44px;
  height:  44px;
  cursor: pointer;
  -webkit-transition: var(--transition);
  transition: var(--transition);
}
.swiper-button-prev::before, .swiper-button-next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  border-radius: 50%;
  background: var(--themecolor02);
}
.swiper-button-prev::after, .swiper-button-next::after {
  width: 10px;
  height: 10px;
  content: "";
  border: solid var(--color-gray);
  border-width: 1px 1px 0 0;
}
.swiper-button-prev::after {
  margin-left: 0.4rem;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
.swiper-button-next::after {
  margin-right: 0.4rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.swiper-button-disabled {
  pointer-events: none;
  opacity: 0;
}
.swiper-button-prev, .swiper-rtl .swiper-button-next {
    left: -22px;
    right: auto;
}
.swiper-button-next, .swiper-rtl .swiper-button-prev {
    right: -22px;
    left: auto;
}
.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
    opacity: 0;
    cursor: auto;
    pointer-events: none;
}
.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
    opacity: 0;
    cursor: auto;
    pointer-events: none;
}

.mv03 .swiper-area {
  position: relative;
  margin-bottom: 30px;
}
.mv03 .swiper-main {
  height: 700px;
  margin-right: min(40rem, 25vw);
  border-radius: 0 12px 12px 0;
}
.mv03 .swiper-thumb {
  position: absolute;
  top: 5rem;
  right: 0;
  bottom: 5rem;
  width: min(50rem, 34vw);
}
.mv03 .slide {
  display: grid;
  height: 100%;
  padding: 0 4rem;
  text-align: center;
  color: #fff;
  position: relative;
}
.mv03 .slide-media {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
.mv03 .slide-media img {
  width: 100%;
}
.mv03 .slide-content {
  -webkit-transition: 3s 0.5s var(--easing);
  transition: 3s 0.5s var(--easing);
  -webkit-transform: translateY(-6rem);
          transform: translateY(-6rem);
  opacity: 0;
	position: absolute;
    width: 100%;
    height: 100%;
    container-type: inline-size;
}
.mv03 .slide-title {
  font-size: 5rem;
  line-height: 1.1;
  color: var(--color-theme);
}
.mv03 .slide-text {
  font-size: 1.8rem;
  margin: 4rem 0 6rem;
}
.mv03 .slide-date {
  font-size: 2rem;
  font-weight: bold;
  display: block;
  padding: 1rem 2rem 0.8rem;
  letter-spacing: 0.1em;
  border: solid currentColor;
  border-width: 2px 0;
}
.mv03 .swiper-slide[class*=-active] .slide-content {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}
.mv03 .thumb {
  font-weight: bold;
  position: relative;
  display: grid;
  overflow: hidden;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  height: 100%;
  padding: 0 2rem;
  cursor: pointer;
  -webkit-transition: 2s var(--easing);
  transition: 2s var(--easing);
  background: #f5f5f5;
}
.mv03 .thumb::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 6px;
  content: "";
  -webkit-transition: 1s var(--easing);
  transition: 1s var(--easing);
  -webkit-transform: scaleY(0);
          transform: scaleY(0);
  background-color: var(--themecolor02);
}
.mv03 .thumb-media {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
.mv03 .thumb-media img {
  -webkit-transition: 2s var(--easing);
  transition: 2s var(--easing);
}
.mv03 .thumb-title {
	font-family: "Josefin Sans", sans-serif;
	font-size: 4.5rem;
	line-height: 1;
	position: relative;
	z-index: 1;
	color: #adadad;
}
.mv03 .thumb-date {
  font-size: 1.2rem;
  margin-top: 0.3em;
  letter-spacing: 0.1em;
}
.mv03 .swiper-slide-thumb-active .thumb .thumb-title {
  color: var(--themecolor02);
}
.mv03 .swiper-slide-thumb-active .thumb::before {
  -webkit-transform: scaleY(1);
          transform: scaleY(1);
}
.mv03 .swiper-slide-thumb-active .thumb-media img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  opacity: 0.3;
  -webkit-filter: blur(3px);
          filter: blur(3px);
  mix-blend-mode: hard-light;
}
.mv03 .thumb_c2 {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.mv03 .thumb_c2 .ph {
	width: 146px;
}
.mv03 .thumb_c2 .txt {
	width: calc( 100% - 146px );
}
.mv03 .thumb_c2 .txt p {
	line-height: 1.5em;
	font-weight: 500;
}


@media only screen and (max-width: 1024px) {
  html {
    -webkit-text-size-adjust: 100%;
  }
  .l-inner {
    padding: 0 4rem;
  }
  .pc {
    display: none !important;
  }
  .mv03 .swiper-main {
    height: max(70vh, 70vw);
  }
  .mv03 .slide-title {
    font-size: 3.2rem;
  }
  .mv03 .slide-text {
    font-size: 1.6rem;
    margin: 2.4rem 0 3.2rem;
  }
  .mv03 .slide-date {
    font-size: 1.8rem;
  }
  .mv03 .thumb {
    padding: 0 2.4rem;
  }
  .mv03 .thumb-title {
    font-size: 1.4rem;
  }
}

@media only screen and (max-width: 599px) {
  html {
    font-size: 50%;
  }
  .pc-tab {
    display: none !important;
  }
  .mv03 .swiper-main {
    margin-right: 4rem;
  }
  .mv03 .swiper-thumb {
    top: auto;
    bottom: -6rem;
    width: 20rem;
    height: 24rem;
    border-radius: 1rem 0 0 1rem;
  }
  .mv03 .slide {
    padding-top: 20%;
  }
  .mv03 .thumb-date {
    display: none;
  }
}

@media only screen and (min-width: 1025px) {
  .tab-sp {
    display: none !important;
  }
  .swiper-button-prev::before, .swiper-button-next::before {
    -webkit-transition: var(--transition);
    transition: var(--transition);
  }
  .swiper-button-prev:hover::before, .swiper-button-next:hover::before {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  .mv03 .slide img {
    -webkit-transition: 2s var(--easing);
    transition: 2s var(--easing);
  }
  .mv03 .slide:hover img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    opacity: 0.9;
  }
}

@media only screen and (min-width: 600px) {
  .sp {
    display: none !important;
  }
  .mv03 .slide {
    place-content: center;
  }
  .mv03 .thumb {
    border-radius: 4px 0 0 4px;
  }
}

@media only screen and (max-width: 1024px) and (min-width: 600px) {
  .mv03 .thumb-date {
    font-size: 1rem;
  }
}