@charset "UTF-8";
/*
 * style.css
 *
 *  version --- 1.0
 *  updated --- 2017/11/30
 */

.sp{display: none!important;}
a[href^="tel:"] {
    cursor: default;
    pointer-events:none;
}
img{
	width: 100%;
}
/* !wrapper
---------------------------------------------------------- */
#wrapper {
	overflow: hidden;
	width: 100%;
}
.menuOpen{
	overflow: hidden;
	height: 100vh;
}
.menuOpen #wrapper{
	position: fixed;
}
.overlay{
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	background: none;
	z-index: 97;
	text-indent: -999rem;
	pointer-events: auto;
}

.inner,
.inner02 {
	margin: 0 auto;
	width: 100%;
	max-width: 118rem;
	padding: 0 5rem;
	position: relative;
	z-index: 3;
}
.inner02{
	max-width: 126rem;
}

.anchor_link{
    position: relative;
}
.anchor_link span{
    position: absolute;
    top: -12rem;
}
/* !header
---------------------------------------------------------- */
#header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
	width: 100%;
	transition: background .3s;
	padding: 2.4rem 6rem;
}
#headerIn {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 7.2rem;
}
#headerLogo a{
	display: flex;
	justify-content: center;
	align-items: center;
	grid-gap: 1.6rem;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: .08em;
	padding: 0 4rem;
	height: 7.2rem;
	border-radius: 3.6rem;
	background: #FFFFFF;
	border: .1rem solid #BBBBBB;
}
#headerLogo a img{
	width: 9.8rem;
}

.header_right{
	padding: 0 4rem;
	display: flex;
	align-items: center;
	grid-gap: 8rem;
	height: 7.2rem;
	border-radius: 3.6rem;
	background: #FFFFFF;
	border: .1rem solid #BBBBBB;
}
.nav_list_pc{
	display: flex;
	grid-gap: 2.4rem;
}
.nav_list_pc a{
	font-size: 1.6rem;
	font-weight: 700;
}
#headerLogo a:hover,
.footer_link a:hover,
.nav_list_pc a:hover{
	color: #0000FF;
	opacity: 1;
}
.nav_entry a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 12.9rem;
	height: 4rem;
	border-radius: 2rem;
	font-size: 1.6rem;
	font-weight: 700;
	background: #0000FF;
	border: 1px solid #0000FF;
	color: #fff;
}
.nav_entry a:hover{
	background: #fff;
	color: #0000FF;
}

#headerLinks {
	display: none;
}

/* !breadcrumb
---------------------------------------------------------- */
#breadcrumb {
  width: 100%;
  text-align: left;
  padding: 4rem 0;
}

#breadcrumb ul {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  font-size: 1.4rem;
  font-weight: 400;
}

#breadcrumb ul li {
  word-break: keep-all;
  white-space: nowrap;
  font-size: 1.4rem;
  line-height: 1.5;
  position: relative;
}

#breadcrumb ul li + li:before {
  content: '>';
  z-index: 2;
  width: 2.1rem;
  justify-content: center;
  align-items: center;
  display: inline-flex;
  text-indent: 0;
  color: transparent;

  background: url(../img/common/icon_breadcrumb.svg)no-repeat center center;
  background-size: auto 1.2rem;
}

#breadcrumb ul li + li {
  padding-left: 2.1rem;
  text-indent: -2.1rem;
}

#breadcrumb ul li:last-child {
  word-break: break-all;
  white-space: unset;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  /*max-width: 350px;*/
}

#breadcrumb ul li a{
	text-indent: 0;
	border-bottom: 1px solid transparent;
}
#breadcrumb ul li a:hover{
	opacity: 1;
	color: #0000FF;
}

/* !gNavi
---------------------------------------------------------- */
		
#gNavi {
	
}
#gNavi li {
	
}
#gNavi li a {
	
}

	
/* !mainVisual
---------------------------------------------------------- */
#mainVisual {
	position: relative;
	display: flex;
	align-items: center;
	height: 100dvh;
}
.mv_bg{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.mv_bg:before{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	background: linear-gradient(180deg, rgba(0, 0, 255, 0.09) 4.2%, rgba(0, 0, 255, 0.07) 17.71%, rgba(0, 0, 255, 0.05) 99.3%);
}
.mv_bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.mv_text{
	color: #fff;
	font-style: italic;
	font-size: 6.4rem;
	font-weight: 700;
	line-height: 1.5;
	text-shadow: 0px 0px 1rem rgba(0, 0, 255, 0.5);

}
/* !teaser
---------------------------------------------------------- */
#teaser {
	position: relative;
	color: #fff;
}
.teaser_bg{
	position: relative;
	width: 100%;
	height: 55.5rem;
}
.teaser_bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.teaser_bg:before{
	content: '';
	position: absolute;
	z-index: 9;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, rgba(229, 229, 255, .6), rgba(229, 229, 255, .6)),
	linear-gradient(0deg, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8));
	opacity: .6;
}
.teaser_hd{
	position: absolute;
	z-index: 9;
	left: 0;
	top: 55%;
	transform: translateY(-50%);
	width: 100%;
	text-align: center;
}
.teaser_hd_eng{
	font-size: 2.4rem;
	font-weight: 700;
	margin-bottom: .8rem;
	display: block;
}
.teaser_hd_jap{
	display: block;
	font-size: 8rem;
	font-weight: 700;
	line-height: 1;
	font-style: italic;
}

/* !contents
---------------------------------------------------------- */
#contents {
	
}

#main {
	
}

#side {
	
}

.inner {
	
}

/* !pageTop
---------------------------------------------------------- */
.pageTop {
	position: absolute;
	right: 5rem;
	top: -8rem;
	transform: translateY(-50%);
	z-index: 9;
	width: 10rem;
}

/* !footer
---------------------------------------------------------- */
#footer {
}

#footer .footerIn {
	background: #F9F9FF;
	padding: 8rem 0;
}
.footer_box{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.footer_logo{
	width: 21.1rem;
}
.footer_logo a{
	display: block;
}
.footer_logo a img{
	width: 100%;
}
.footer_link{
	display: flex;
	grid-gap: 2.9rem;
}
.footer_link a{
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: .02em;
}

	
#copyright {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 3.6rem;
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: .08em;
	background: #0F2A4E;
	color: #fff;
}

/* !common
---------------------------------------------------------- */
.hd_medium{
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	grid-gap: .8rem;
}
.hd_medium_eng{
	font-size: 1.6rem;
	font-weight: 700;
	color: #0000FF;
	letter-spacing: .08em;
	position: relative;
	display: flex;
	align-items: center;
	grid-gap: .8rem;
}
.hd_medium_eng:after{
	content: '';
	width: 18.4rem;
	height: 1px;
	background: currentColor;
}
.hd_medium_jap{
	font-size: 3.2rem;
	line-height: 1.8;
	letter-spacing: .08em;
	font-weight: 700;
}

.img_box {
    position: relative;
    width: 100%;
    padding-top: 66%;
    overflow: hidden;
}
.img_box img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    object-fit: cover;
    transition: transform .4s ease;
}
a:hover .img_box img{
	transform: scale(1.05);
}

.btn_link01{
	min-width: 26rem;
	max-width: 100%;
	display: inline-flex;
	justify-content: space-between;
	padding-bottom: 1.6rem;
	border-bottom: 1px solid #0000FF;
	font-size: 1.6rem;
	line-height: 4rem;
	font-weight: 700;
	letter-spacing: .05em;
	transition: all .5s;
}
.link_arrow{
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	border: 1px solid #0000FF;
	background: url(../img/common/arrow_blue.svg)no-repeat center center ;
	background-size: 1.7rem auto;
	transition: all .3s;
}
.btn_link01:hover {
	opacity: 1!important;
}
.btn_link01:hover .link_arrow{
	background: url(../img/common/arrow_white.svg)no-repeat center center #0000FF;
	background-size: 1.7rem auto;
}

.btn_link02{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 50rem;
	max-width: 100%;
	height: 7.2rem;
	border-radius: 5rem;
	font-size: 2.4rem;
	letter-spacing: .02em;
	font-weight: 700;
	background: #0000FF;
	border: 1px solid #0000FF;
	color: #fff;
	transition: all .5s;
}
.btn_link02:hover{
	background: #fff;
	color: #0000FF;
	opacity: 1!important;
}

.btn_link03{
	min-width: 32.5rem;
	max-width: 100%;
	height: 7.2rem;
	border-radius: 4rem;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	grid-gap: 2.4rem;
	border: 1px solid #0F2A4E;
	color: #fff;
	background-color: #0F2A4E;
	font-size: 2.4rem;
	font-weight: 500;
	letter-spacing: .05em;
	position: relative;
	transition: all .5s;
}
.link_arrow03{
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	border: 1px solid #fff;
	background: url(../img/common/arrow_white.svg)no-repeat center center;
	background-size: 1.7rem auto;
	transition: all .3s;
}
.btn_link03:hover{
	color: #0F2A4E;
	background-color: #fff;
	opacity: 1!important;
}
.btn_link03:hover .link_arrow03{
	border-color: #0F2A4E;
	background: url(../img/common/arrow_black.svg)no-repeat center center;
	background-size: 1.7rem auto;
}

/*top*/
.top_message{
	padding: 12rem 0;
	background: url(../img/top/bg_message.jpg)no-repeat center center;
	background-size: cover;
}
.top_message_dl{
	display: flex;
	justify-content: space-between;
}
.top_message_dl dt{
	width: 50%;
}
.top_message_p01{
	margin-top: .4rem;
	font-size: 2rem;
	line-height: 1.8;
	letter-spacing: .03em;
}
.top_message_p02{
	font-size: 1.6rem;
	line-height: 1.8;
	letter-spacing: .08em;
}
.top_message_dl dd{
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 2.5;
	letter-spacing: .1em;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: upright;
}
.top_message_dl dd span{
	line-height: 1.2;
	text-align: center;
	writing-mode: horizontal-tb;
}

.top_message_dl dd small{
	/*text-orientation: sideways;*/
}

.top_recruitment{
	padding: 8rem 0;
}
.top_recruitment_list{
	margin-top: 4rem;
	display: grid;
	grid-template-columns: repeat(3,1fr);
	grid-gap: 1.6rem;
}
.top_recruitment_list a{
	display: block;
	position: relative;
	opacity: 1!important;
}
.top_recruitment_list .img_box{
	padding-top: 123%;
}
.top_recruitment_list .btn{
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 9;
	height: 5.1rem;
	display: flex;
	align-items: center;
	padding: 0 8rem 0 2.4rem;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: .03em;
	background: url(../img/common/arrow_orange.svg)no-repeat right 2.4rem center rgba(255,255,255,.8);
	background-size: 2.4rem auto;
	border-top-right-radius: 2.4rem;
}
.top_recruitment_list li:nth-of-type(2) .btn{
	background: url(../img/common/arrow_blue.svg)no-repeat right 2.4rem center rgba(255,255,255,.8);
	background-size: 2.4rem auto;
}
.top_recruitment_list li:nth-of-type(3) .btn{
	background: url(../img/common/arrow_black.svg)no-repeat right 2.4rem center rgba(255,255,255,.8);
	background-size: 2.4rem auto;
}

.top_recruitment_list li:nth-of-type(1) .img_box img{
	object-position: right center;
}
.top_recruitment_list li:nth-of-type(2) .img_box img{
	object-position: right center;
}


.top_president{
	position: relative;
	padding: 8rem 0;
}
.top_president:before{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(../img/top/bg_president.jpg)no-repeat center center;
	background-size: cover;
	z-index: 0;
}
.top_president:after{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: #D5E9FFE5;
	z-index: 1;
}
.top_president_dl{
	display: flex;
	justify-content: space-between;
}
.top_president_dl dt{
	width: 56.3rem;
}
.top_president_dl .img_box{
	padding-top: 0;
	height: 100%;
}
.top_president_dl .img_box img{
	top: auto;
	bottom: -25%;
	height: 125%;
}
.top_president_dl:hover .img_box img{
	transform: scale(1.05);
}
.top_president_dl dd{
	width: 46.6rem;
}
.top_president_dl .text{
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.6;
	margin-top: 2.4rem;
}
.top_president_dl .btn{
	text-align: right;
	margin-top: 1.6rem;
}

html.is-popup{
  overflow: hidden;
}
.modalMedicine {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
  transition: opacity .5s;
  background: rgba(0, 0, 0, 0.25);
}
.modalMedicine.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.modal__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: opacity .5s;
}
.modal__contents {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  opacity: 0;
  transition: opacity .5s;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.is-open .modal__contents {
  opacity: 1;
}
.modal__body {
  overflow: hidden;
  pointer-events: auto;
  background: url(../img/top/bg_president.jpg) no-repeat center center;
  background-size: cover;
  border-radius: 0;

  width: 115rem;
  max-width: calc(100vw - 6.4rem - 6.4rem);
  max-height: calc(100dvh - 6.4rem - 6.4rem);
  margin: 0 auto;
  position: relative;
}
.modalMedicine__body {
  overflow: hidden;
  pointer-events: auto;
}
.modalMedicine__body.is-show {
  height: auto;
  overflow-x: hidden;
  overflow-y: auto;
  position: auto;
}
.modal__box{
  display: none;
  background: rgb(249,249,255,.9);
  width: 100%;
  max-height: 100%;
  max-width: 100%;
  padding: 8rem 4rem;
  position: relative;
}
.modal__box.is_active{
  display: block;
}

.modal__closeButton{
	width: 3.2rem;
	height: 3.2rem;
  background: url(../img/top/icon_close.svg)no-repeat center center;
  background-size: 100% auto;
  position: absolute;
  right: 4rem;
  top: 4rem;
  z-index: 2;
}
.modal_dl{
	position: relative;
	z-index: 3;
	justify-content: space-between;
	display: flex;
}
.modal_dl dt{
	width: 35rem;
}
.modal_dl dd{
	width: calc(100% - 35rem - 4rem);
}
.modal_dl .img_box{
	padding-top: 0;
    aspect-ratio: 1 / 1.14;
}
.modal_text{
	font-size: 2rem;
	line-height: 1.8;
	letter-spacing: .03em;
	color: #333;
	margin-top: 2.4rem;
}
.modal_position{
	color: #333;
	margin-top: 2.4rem;
	text-align: right;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2.1;
	letter-spacing: .04em;
}
.modal_name{
	color: #333;
	margin-top: .8rem;
	text-align: right;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2.1;
	letter-spacing: .04em;
}
.modal_name span{
	font-size: 2.4rem;
	line-height: 1;
	font-weight: 700;
	margin-right: 2.4rem;
}

.top_news{
	padding: 8rem 0;
}
.news_list{
	display: grid;
	grid-gap: 1.6rem;
	margin-top: 4rem;
}
.news_list dl{
	border-radius: .8rem;
	border: 1px solid #0F2A4E;
	box-shadow: .4rem .4rem .8rem #0000001A;
	background: #fff;
	color: #0F2A4E;
	padding: 0 1.6rem;
}
.news_list dl dt{
	display: flex;
	flex-direction: column;
	grid-gap: .4rem;
	padding: 2.4rem 3.3rem 2.4rem 0;
	background:url(../img/top/news_open.svg)no-repeat right center;
	background-size: 2.5rem auto;
	position: relative;
	z-index: 2;
	cursor: pointer;
	font-size: 1.6rem;
	line-height: 1.5;
}
.news_list dl dt.is_active{
	background:url(../img/top/news_close.svg)no-repeat right center;
	background-size: 2.5rem auto;
}
.news_list dl dt .title{
	font-size: 2rem;
	line-height: 1.45;
}
.news_list dl dd{
	display: none;
	font-size: 1.6rem;
	line-height: 1.6;
	padding: 2.4rem 0;
	border-top: 1px solid #0F2A4E;
}

.top_slider_wrap{
	padding: 12rem 0 4rem;
}
.top_swiper .swiper_box {
	display: none;
}
.top_swiper .swiper-wrapper {
	-webkit-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
}
.top_swiper .swiper-slide{
  width: 51.4rem;
  margin-right: 1.6rem;
}
.top_swiper .swiper-slide:nth-of-type(even){
	margin-top: 9rem;
}
.swiper_box{
	margin-top: 2.4rem;
	display: flex;
	justify-content: center;
	align-items: center;
	grid-gap: 16px;
	position: relative;
}
.swiper_box .swiper-button-prev,
.swiper_box .swiper-button-next{
	position: static;
	width: 40px;
	height: 40px;
	margin: 0;
	background: url(../img/top/slick_next.svg)no-repeat;
	background-size: 100% auto;
}
.swiper_box .swiper-button-prev:after,
.swiper_box .swiper-button-next:after{
	content: none;
}
.swiper_box .swiper-button-prev{
	transform: rotateY(-180deg);
}
.swiper_box .swiper-pagination{
	position: static;
	width: auto!important;
}
.swiper_box .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, 
.swiper_box .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{
	margin: 0 8px;
}
.swiper_box .swiper-pagination-bullet-active{
	background: #0000FF66;
}

/*job*/
.job_wrap{
	padding: 12rem 0 8rem;
}
.job_search_box{
	border: 1px solid #D9D9D9;
	background: #FCFCFC;
	padding: 4rem;
}
.job_search_hd{
	font-size: 2.4rem;
	line-height: 1;
	font-weight: 700;
	letter-spacing: .03em;
	border-bottom: 1px solid #D9D9D9;
	padding-bottom: 2.4rem;
	margin-bottom: 2.4rem;
}
.job_search_list{
	display: grid;
	grid-gap: 1.6rem;
}
.job_search_list dl{
	display: flex;
}
.job_search_list dt{
	width: 16.8rem;
	font-size: 1.6rem;
	line-height: 1;
	font-weight: 700;
	letter-spacing: .03em;
}
.job_search_list dd{
	line-height: 1;
	width: calc(100% - 16.8rem);
}

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

.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-radio .wpcf7-list-item{
    /*width: 100%;*/
}
.smf-label label,
.formRadio label,
.formCheckbox label {
    display: flex;
    font-size: 1.6rem;
    letter-spacing: .03em;
    line-height: 1;
    font-weight: 500;
    position: relative;
    cursor: pointer;
}

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

.formRadio label span {
    position: relative;
    z-index: 2;
    display: inline-block;
    font-weight: 500;
    padding-left: 2.4rem;
}

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

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

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

.job_search_btn{
	text-align: center;
	margin-top: 4rem;
}
.job_search_btn input{
	width: 19.4rem;
	height: 5.5rem;
	border-radius: 3.2rem;
	background: #0000FF;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: .08em;
	transition: all .3s;
	border: 1px solid #0000FF;
}
.job_search_btn input:hover{
	background: #fff;
	color: #0000FF;
}

.job_result{
	padding-top: 8rem;
}
.job_list{
	display: grid;
	grid-template-columns: repeat(3,1fr);
	grid-gap: 1.6rem;
}

.job_list li {
	border: 2px solid #D9D9D9;
}
.job_list a{
	display: block;
	padding: 2.4rem;
	opacity: 1!important;
}
.job_list .img_box{
	padding-top: 58.8%;
	margin-bottom: 4rem;
}
.job_list .date{
	display: inline-flex;
	font-size: 1.6rem;
	line-height: 2;
	font-weight: 400;
	margin-right: 1.6rem;
}
.categ_span{
	display: inline-flex;
	flex-wrap: wrap;
	grid-gap: 1.6rem;
}
.categ_span span{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: .3rem 2.4rem;
	font-size: 1.6rem;
	color: #FF8234;
	border: 1px solid currentColor;
}
.categ_span span.categ_career{
	color: #184380;
}
.categ_span span.categ_highschool{
	color: #0000FF;
}

.job_list .text{
	margin-top: 2.4rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .03em;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}


/* !wp-pagenavi
---------------------------------------------------------- */
.wp-pagenavi {
    display: flex;
    justify-content: center;
    align-items: center;
    grid-gap: .8rem;
    width: 100%;
    max-width: 100%;
    margin: 8rem auto 0;
    position: relative;
    padding: 0;
    text-align: center;
}

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

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

.wp-pagenavi .page {

}

.wp-pagenavi a, 
.wp-pagenavi .current {
	width: 4rem;
    height: 4rem;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 500;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all .5s;
    color: #000;
    border-radius: 50%;
}
.wp-pagenavi .current{
	color: #A2A2A2;
    text-decoration: none;
    opacity: 1;
}
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink{
	border-radius: 50%;
	border: 1px solid #0000FF;
	background: url(../img/common/arrow_blue.svg)no-repeat center center ;
	background-size: 1.7rem auto;
	transition: all .3s;

    font-size: 0;
    margin: 0 1.6rem;
}
.wp-pagenavi .previouspostslink {
	transform: rotateY(-180deg);
}
.wp-pagenavi a:hover{
	color: #0000FF;
	opacity: 1;	
}
.wp-pagenavi .nextpostslink:hover,
.wp-pagenavi .previouspostslink:hover{
	background: url(../img/common/arrow_white.svg)no-repeat center center #0000FF;
	background-size: 1.7rem auto;
}

/*job_detail*/
.job_detail_wrap{
	padding: 12rem 0 8rem;
}
.job_detail_categ{
	display: inline-flex;
}
.job_detail_date{
	display: inline-flex;
	margin-left: 2.4rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2;
}
.job_detail_hd{
	font-size: 3.2rem;
	line-height: 1.5;
	font-weight: 700;
	letter-spacing: .03em;
	margin-top: 1.6rem;
}
.job_detail_thumb{
	margin-top: 6.4rem;
}
.job_detail_thumb img{
	height: auto;
}
.job_detail_main_btn{
	padding-top: 6.4rem;
	text-align: center;
}
.job_detail_main_btn a{
	width: 50rem;
	height: 8.8rem;
}

.job_detail_cont{
	padding-top: 6.4rem;
	display: flex;
	justify-content: space-between;
}
.job_detail_main{
	width: calc(100% - 30.8rem - 4rem);
	display: grid;
	grid-gap: 4rem;
}
.job_detail_side{
	width: 30.8rem;
}
.job_detail_main p{
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.7;
	letter-spacing: .03em;
}
.job_detail_main h4{
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.25;
	border-left: .4rem solid #0000FF;
	padding-left: 1.2rem;
}
.wp-block-list li,
.job_detail_main ol li{
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: .03em;
	color: #0000FF;
	text-decoration: underline;
	/*padding-left: 1em;*/
	/*text-indent: -1em;*/
}
.wp-block-list li:before{
	content: '・';
	text-indent: 0;
}
.wp-block-media-text,
.job_detail_main dl{
	display: flex;
	align-items: center;
	justify-content: space-between;
	grid-gap: 2.4rem;
}
.wp-block-media-text:nth-of-type(odd),
.job_detail_main dl:nth-of-type(even){
	flex-direction: row-reverse;
}
.wp-block-media-text>.wp-block-media-text__media,
.wp-block-media-text>.wp-block-media-text__content,
.job_detail_main dd,
.job_detail_main dt{
	width: calc(50% - 1.2rem);
	padding: 0;
}

.job_table_box{
	margin-top: 4rem;
	border: 1px solid #A2A2A2;
	padding: 4.4rem 4.8rem;
}
.job_table{
	width: 100%;
}
.job_table th,
.job_table td{
	font-size: 2rem;
	line-height: 1.25;
	border-bottom: 1px solid #D9D9D9;
	padding: 3.3rem 0;
	font-weight: 400;
	vertical-align: middle;
}
.job_table th{
	width: 17.6rem;
	font-size: 2.4rem;
	line-height: 1.66;
	font-weight: 700;
	color: #184380;
}
.job_table_box tr:last-of-type th,
.job_table_box tr:last-of-type td{
	border-bottom: 0;
}

.job_detail_access{
	margin-top: 4rem;
	border: 1px solid #A2A2A2;
	padding: 2.4rem;
}
.job_detail_access_hd{
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1;
	border-left: .4rem solid #0000FF;
	padding-left: 1.2rem;
	margin-bottom: .8rem;
}
.job_detail_access p{
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.5;
}
.job_detail_map{
	margin: 2.4rem 0 .8rem;
    position: relative;
    width: 100%;
    padding-top: 62.5%;
}
.job_detail_map iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

/*access*/
.access_wrap{
	padding: 12rem 0 8rem;
}
.access_wrap .inner{
	max-width: 110rem;
}
.access_tab_link{
	display: flex;
	grid-gap: 1.6rem;
	margin-bottom: 8rem;
}
.access_tab_link li{
	width: 100%;
}
.access_tab_link a{
	display: flex;
	align-items: center;
	width: 100%;
	height: 5.1rem;
	border: 1px solid #A2A2A2;
	font-size: 2.4rem;
	font-weight: 500;
	padding: .8rem 4rem;
	border-radius: 2.6rem;
	position: relative;
}
.access_tab_link a.is_active{
	border-color: #0000FF;
	pointer-events: none;
}
.access_tab_link a:before{
	content: '';
	position: absolute;
	left: 2.4rem;
	top: 50%;
	transform: translateY(-50%);
	width: .8rem;
	height: .8rem;
	background-color: #A2A2A2;
}
.access_tab_link a.is_active:before{
	background-color: #0000FF;
}

.tabWrap{
	position: relative;
	overflow: hidden;
}
.tabBox{
    position: absolute;
    width: 100%;
    opacity: 0;
    pointer-events: none;
}
.tabBox.is_active{
    position: static;
    opacity: 1;
    pointer-events: auto
}

.access_map{
    position: relative;
    width: 100%;
    padding-top: 48.8%;
}
.access_map iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}
.access_wrap .job_table{
	margin-top: 2.4rem;
}
.access_wrap .job_table th,
.access_wrap .job_table td{
	padding: 2.4rem 0;
}

/*contact*/
.contact_wrap{
	padding: 12rem 0 8rem;
}
.contact_p{
	font-size: 1.6rem;
	font-weight: 400;
	margin-top: .8rem;
}
.contact_link{
	display: grid;
	grid-template-columns: repeat(3,1fr);
	grid-gap: 2.4rem;
	margin: 6.4rem 0 12rem;
}
.contact_link a{
	display: flex;
	align-items: center;
	padding: 0 4rem;
	height: 5.6rem;
	border-radius: 3rem;
	border: 1px solid #FF8234;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: .05em;

	background: url(../img/common/arrow_orange.svg)no-repeat right 4rem center #fff;
	background-size: 1.8rem auto;
}
.contact_link li:nth-of-type(2) a{
	border-color: #4959FF;
	background: url(../img/common/arrow_blue.svg)no-repeat right 4rem center #fff;
	background-size: 1.8rem auto;
}
.contact_link li:nth-of-type(3) a{
	border-color: #00009A;
	background: url(../img/common/arrow_black.svg)no-repeat right 4rem center #fff;
	background-size: 1.8rem auto;
}

.smf-progress-tracker,
.step_list{
    display: flex;
    justify-content: center;
    grid-gap: 19.4rem;
    position: relative;
    margin-bottom: 8rem;
}
.smf-progress-tracker li,
.step_list li{
    font-size: 1.6rem;
    font-weight: 500;
    text-align: center;
    color: #A2A2A2;
    position: relative;
    z-index: 2;
    display: flex;
    grid-gap: .8rem;

    flex: none;
    width: auto;
    flex-direction: row;
}
.smf-progress-tracker li+li:before,
.step_list li+li:before{
    content: '';
    position: absolute;
    left: auto!important;
    right: calc(100% + 2.4rem);
    top: 50%;
    z-index: 1;
    width: 14.6rem;
    height: 1px;
    background: #A2A2A2;
}
.smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__number,
.smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__text,
.smf-progress-tracker li.is_active,
.step_list li.is_active,
.mw_wp_form_input .step_list li:nth-of-type(1) .number,
.mw_wp_form_confirm .step_list li:nth-of-type(1) .number,
.mw_wp_form_confirm .step_list li:nth-of-type(2) .number{
    color: #0000FF;
	font-weight: 500!important;
}
.smf-progress-tracker li.is_active:before,
.step_list li.is_active:before{
	background: #0000FF;
}
.smf-progress-tracker__item__number{
	background: none!important;
	border-radius: 0;
	color: inherit;
	width: auto;
	height: auto;
}
.smf-progress-tracker__item__text{
	margin: 0;
	color: inherit;
        width: 2em;
        white-space: nowrap;
        overflow: hidden;
}
.smf-progress-tracker__item:after{
	content: none!important;
}

.smf-form{
	width: 100%;
	display: table;
}
.smf-item{
	display: table-row;
}
.no_table_row{
	display: block;
}

.contactTable{
    width: 100%;
}
.smf-item__col--label,
.smf-item__col--controls,
.contactTable th,
.contactTable td{
	display: table-cell;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .05em;
    padding-bottom: 4rem;
}
.smf-item__col--label,
.contactTable th{
	padding-top: .5rem;
    text-align: left;
    letter-spacing: .05em;
    font-size: 2.4rem;
    width: 34.4rem;
    vertical-align: top;
}
.smf-item__col--label strong,
.contactTable th span{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    vertical-align: top;
    color: #C70003;
    letter-spacing: .05em;
    font-size: 1.4rem;
    line-height: 3.6rem;
    margin-left: .8rem;
}

.smf-item__col--label .smf-item__label__text code {
	font-size: 1.5rem;
}

.smf-form .smf-file-control,
.file_box,
.contactTable input[type=text],
.contactTable input[type=tel],
.contactTable input[type=email],
.contactTable select,
.contactTable textarea{
    width: 100%;
    height: 4.6rem;
    border-radius: .4rem;
    background: #fff;
    color: #0F2A4E;
    padding: 0 1.6rem;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    font-weight: 500;
    border: 1px solid #D9D9D9;
}
.smf-form .smf-file-control,
.file_box{
    position: relative;
	display: flex;
    align-items: center;
    width: 22rem;
    height: 4.8rem;
}
.contactTable input[type=file]{
    position: absolute;
    left: 0;
    opacity: 0;
}
.smf-form .smf-file-control>label,
.file_label{
    cursor: pointer;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 9;
    width: 100%;
    height: 100%;
    border-radius: 0;
    border: 0;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: .05em;
    display: flex;
    align-items: center;
    padding-left: 6.4rem;
    padding-right: 1rem;
    background: url(../img/entry/icon_file.svg) no-repeat left 3.2rem center #184380;
    background-size: 2.4rem auto;
}
.smf-file-control__label{
	display: none!important;
}
.smf-file-control__filename,
.file_label span{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
}
.smf-form .smf-file-control__clear{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 105%;
    white-space: nowrap;
}
.file_item .smf-placeholder+.smf-placeholder{
	margin-top: .8rem;
}
.file_item .smf-placeholder{
	display: none;
}
.file_add{
	margin-top: .8rem;
	width: 11.3rem;
	height: 3.6rem;
	display: inline-flex;
	align-items: center;
	padding-left: 5.2rem;
    background: url(../img/entry/icon_add.svg) no-repeat left 3.2rem center #F5F5F5;
    background-size: 1.2rem auto;
    color: #0F2A4E;
    border: 1px solid #A2A2A2;
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: .05em;
    cursor: pointer;
}
.file_item .smf-item__col--label,
.contactTable th.mid{
	vertical-align: middle;
	padding-top: 0;
}


.contactTable select {
    background: url(../img/common/arrow_select.svg) no-repeat right 1.5rem center #fff;
    background-size: 1.1rem auto;
    padding: 0 6rem 0 1.6rem;
}
.contactTable .birth_box select {
    background: url(../img/common/arrow_select.svg) no-repeat right 2rem center #fff;
    background-size: 2rem auto;
}
.contactTable textarea{
    resize: none;
    min-height: 28rem;
    padding: 1.5rem 1.6rem;
    display: block;
}

.p-postal-code{
    max-width: 23.6rem!important;
}
.span_zip{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background: #1F215C;
    color: #fff;
    border-radius: .5rem;
    font-size: 1.7rem;
    font-weight: bold;
    padding: 0 3.2rem;
    height: 6rem;
    margin-left: 2.7rem;
    pointer-events: none;
}
.formItem+.formItem{
    margin-top: 1.6rem;
}
.formItemHd{
    font-size: 1.6rem;
    margin-bottom: .7rem;
}
.formItemHd span{
    font-size: 1.5rem;
    color: #9F9F9F;
}
.formNotes{
    font-size: 1.3rem;
    color: #666;
}
.formNotes p+p{
    margin-top: 1.9rem;
}
.formNotes a{
    color: #00A04E;
    text-decoration: underline;
}
.formNotes a:hover{
    text-decoration: none;
    opacity: 1;
}

.formAgree{
	margin-top: 2.4rem;
}
.formAgree a{
    color: #D94473;
    border-bottom: 1px solid currentColor;
}
.formAgree a:hover{
    border-color: transparent;
    text-decoration: none;
}
.smf-action,
.formButton{
    margin-top: 6.4rem;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    grid-gap: 3rem;
}
.smf-action .smf-button-control{
    min-width: 32.5rem;
    max-width: 100%;
    height: 7.2rem;
    border-radius: 4rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    grid-gap: 2.4rem;
    border: 1px solid #0F2A4E;
    color: #fff;
    background-color: #0F2A4E;
    font-size: 2.4rem;
    font-weight: 500;
    letter-spacing: .05em;
    position: relative;
    transition: all .5s;
}
.formButton .link_arrow03:before {
	content: '';
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    border: 1px solid #fff;
    background: url(../img/common/arrow_white.svg) no-repeat center center;
    background-size: 1.7rem auto;
    transition: all .3s;
		position: absolute;
		z-index: 9;
		right: 6.4rem;
		pointer-events: none;
}
.smf-button-control .smf-button-control__control,
.formButton .btn_form{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    text-align: left;
    width: 100%;
    height: 100%;
    font-size: 2.4rem;
    letter-spacing: 0.05em;
    font-weight: 500;
    color: #fff;
    border-radius: 0;
    transition: all .5s;
    background: none;
    border: 0;
    box-shadow: none;
    position: relative;
    z-index: 8;
    padding: 0;
	padding-left: 7.2rem;

}

.smf-button-control .smf-button-control__control:before{
	content: '';
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    border: 1px solid #fff;
    background: url(../img/common/arrow_white.svg) no-repeat center center;
    background-size: 1.7rem auto;
    transition: all .3s;
		position: absolute;
		z-index: 9;
		right: 6.4rem;
		pointer-events: none;
}

.smf-action.disabled .smf-button-control,
.smf-button-control.disabled,
.formButton .disabled{
    -webkit-filter: grayscale(50%);
    filter: grayscale(50%);
    opacity: .5;
    pointer-events: none;
}
.smf-action .smf-button-control:hover{
    color: #0F2A4E;
    background-color: #fff;
    opacity: 1 !important;
}
.smf-action .smf-button-control:hover .smf-button-control__control:before {
    border-color: #0F2A4E;
    background: url(../img/common/arrow_black.svg) no-repeat center center;
    background-size: 1.7rem auto;
}
.smf-action .smf-button-control:hover .smf-button-control__control,
.formButton .btn_form:hover{
	color: #0F2A4E;
}


.smf-button-control .smf-button-control__control[data-action=back] {
	padding: 0 7.2rem 0 0;
	justify-content: flex-end;
}

.smf-button-control .smf-button-control__control[data-action=back]:before {
	right: unset;
	left: 6.4rem;
	transform: scaleX(-1);
}

.formAgree .formCheckbox{
}

.smf-label label,
.formAgree .formCheckbox label{
    margin: 0 auto;
    display: flex;
    align-items: center;
    font-size: 2rem;
    line-height: 1.15;
    font-weight: 400;
    letter-spacing: 0;
}
.smf-checkbox-control__label,
.formCheckbox label span {
    position: relative;
    z-index: 2;
    padding-left: 5.5rem;
    display: inline-block;
    font-weight: 400;
}

.smf-checkbox-control__label:before,
.formCheckbox label span:before {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 2.3rem;
    height: 2.3rem;
    border-radius: 0;
    background: #fff;
    border: 1px solid #0F2A4E;
    content: '';
    z-index: 1;
}

.smf-checkbox-control__label:after,
.formCheckbox label span:after {
    position: absolute;
    left: .4rem;
    top: 0.5rem;
    width: 1.5rem;
    height: .8rem;
    border: .3rem solid #1D1D1D;
    border-width: 0 0 .2rem .2rem;
    transform: rotate(-45deg);
    content: '';
    z-index: 2;
    opacity: 0;
}

.smf-label label input[type="checkbox"]:checked + .smf-radio-button-control__label:after ,
.smf-label label input[type="checkbox"]:checked + .smf-checkbox-control__label:after ,
.formCheckbox label input[type="checkbox"]:checked + span:after {
    opacity: 1;
}

.snow-monkey-form[data-screen="confirm"] .file_add,
.snow-monkey-form[data-screen="confirm"] .email_confirm,
.snow-monkey-form[data-screen="confirm"] .formAgree{
    display: none!important;
}
.snow-monkey-form[data-screen="confirm"] .smf-placeholder{
	margin-top: .5rem;
	font-size: 2.4rem;
}
.snow-monkey-form[data-screen="confirm"] .smf-action{

}
.snow-monkey-form[data-screen="confirm"] .smf-action .smf-button-control+.smf-button-control{
    margin: 0;
}

.smf-complete-content{
	text-align: center;
	font-size: 1.6rem;
	line-height: 2;
}
/*entry*/
.entry_top{
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: .03em;
	margin-bottom: 8rem;
}

.custom-error-message{
	padding-top: .5em;
}
input[name=s]{
	visibility: hidden;
	position: absolute;
}


.movie_wrap {
	font-size: 1.6rem;
	line-height: 1.7;
	color: #0F2A4E;
	letter-spacing: 3%;
	padding: 6.4rem 0 2.4rem;
}

.movie_wrap .inner {
	max-width: 125.2rem;
}

.movie_wrap .movie_list {
	margin-top: 6.4rem;
}

.movie_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 4rem;
}

.movie_list li {
	border: 1px solid #A2A2A2;
	padding: 2.4rem;
}

.movie_list .movie_title {
	position: relative;
	padding-left: 1.6rem;
	font-size: 2.4rem;
	line-height: 1;
	font-weight: 700;
	margin-bottom: 2.4rem;
	letter-spacing: 0;
}

.movie_list .movie_title:before {
	width: .4rem;
	height: 2.4rem;
	background: #0000FF;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	content: '';
}

.movie_list .movie_form {
	font-size: 1.5rem;
	line-height: 1.7;
	color: #0F2A4E;
	margin-bottom: 2.4rem;
}

.movie_list .movie_thumb {
	width: 100%;
	aspect-ratio: 254 / 143;
	overflow: hidden;
	display: block;
}

.movie_list .movie_thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.movie_list .movie_thumb a:hover {
	opacity: .7;
}

.movie_list .movie_links {
	text-align: center;
	margin-top: 2.4rem;
}

.movie_list .movie_links a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: .5em;
	font-size: 1.8rem;
	line-height: 1;
	letter-spacing: .05em;
	font-weight: bold;
	color: #fff;
	width: 100%;
	max-width: 24.4rem;
	height: 4.6rem;
	border-radius: 4.8rem;
	background: #EA3628;
	border: .1rem solid #EA3628;
	font-family: "Gothic A1", sans-serif;
}

.movie_list .movie_links a:after {
	width: 1.5293rem;
	height: 1.3816rem;
	content: '';
	background: url(../img/movie/icon_links.svg) center center no-repeat;
	background-size: 100% 100%;
	transition: background-image .5s ease;
}

.movie_list .movie_links a:hover {
	background: #fff;
	color: #EA3628;
	text-decoration: none;
	opacity: 1;
}

.movie_list .movie_links a:hover:after {
	background-image: url(../img/movie/icon_links_red.svg);
}

.movie_list .movie_notes {
	text-align: center;
	font-size: 1.2rem;
	line-height: 1.7;
	margin-top: .4rem;
}







