@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

*, :after, :before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html{
	overflow: auto;
}

html,body{
    width: 100%;
}

body {
  color : #333;
	font-family: 'Noto Sans JP','Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, 'メイリオ', Osaka, 'MS PGothic', arial, helvetica;
	font-weight: 400;
	-webkit-text-size-adjust: 100%;
	position: relative;
}

@media screen and (min-width: 769px) {
	body{
		min-width: 1200px;
		overflow: hidden;
	}
}

.ipad{
	min-width: 1200px;
}

a,
a img{
	text-decoration: none;
	transition: 0.3s ease-out;
}

.clearfix:after {
  content:" ";
  display:block;
  clear:both;
}

/*header
--------------------------------------------------*/
.header{
	position: relative;
}

.floating__nav{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 300;
	min-width: 1200px;
}

.header__logo{
	position: absolute;
	top: 37px;
	left: 27px;
	z-index: 310;
	width: 280px;
}

.header__logo img{
	width: 100%;
}

.header__nav{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.nav__index{
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: fit-content;
	height: 120px;
}

.nav__item{
	margin-left: 57px;
}

.nav__item:first-child{
	margin-left: 0;
}

.nav__item a{
  font-weight : 700;
  font-size : 20px;
	line-height: 1;
  color : #333;
	white-space: nowrap;
}

.nav__btn{
	position: absolute;
	top: 20px;
	right: 20px;
	width: 280px;
	height: 100px;
}

.nav__btn a{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	height: 100%;
  font-weight : 700;
  font-size : 24px;
	line-height: 1;
	color: #fff;
	background: #ed1c24;
	border-radius: 50px;
}

@media screen and (max-width: 1450px) {
	.nav__item{
		margin-left: 30px;
	}

	.nav__item a{
		font-size : 18px;
	}

	.nav__btn{
		width: 280px;
	}
}

@media screen and (max-width: 1300px) {
	.nav__item{
		margin-left: 25px;
	}

	.nav__item a{
		font-size : 17px;
	}
}

@media screen and (min-width: 769px) {
	/*hover*/
	.nav__item a:hover,
	.header__logo a:hover,
	.nav__btn a:hover{
		opacity: .6;
	}

	/*fixed*/
	.is-fixed{
		position: fixed;
		z-index: 500;
		background: rgba(255, 255, 255, 0.9);
		box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
		height: 110px;
	}
	
	.is-fixed .nav__btn{
    top: 10px;
    height: 90px;
	}
}

@media screen and (max-width: 768px) {
	.header{
		padding-top: 50px;
	}

	.floating__nav{
		min-width: auto;
		height: auto;
	}

	.header__logo{
		top: 20px;
		left: 20px;
		width: 180px;
	}

	.header__nav,
	.nav__btn{
		display: none;
	}
}

/*mainvisual
--------------------------------------------------*/
.mainvisual{
	width: 100%;
	height: 0;
	padding-top: 57.8125%;
	position: relative;
}

.mainvisual::before{
	content: '';
	display: block;
	background: url(../img/about_header_img.png) no-repeat 0 0/100%;
	width: 941px;
	height: 105px;
	position: absolute;
	bottom: -36px;
	left: 65.3%;
	transform: translateX(-50%);
	z-index: 200;
}

.mv__ph{
	background: url(../img/mv_pc.webp) no-repeat 0 0/100%;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	z-index: 150;
}

@media screen and (max-width: 768px) {
	.mainvisual{
		padding-top: 66.933%;
	}

	.mainvisual::before{
		background-size: 280px;
		width: 240px;
		height: 31px;
		bottom: -34px;
		left: auto;
		right: 0;
		transform: translateX(0);
	}

	.mv__ph{
		background-image: url(../img/mv_sp.webp);
	}
}

/*SP navi
--------------------------------------------------*/
/*hamburger SP*/
@media screen and (max-width: 768px) {
	.hamburger{
		position: fixed;
    top: 10px;
		right: 10px;
    width: 44px;
    height: 44px;
		z-index: 700;
		background: #cf3328;
		border: 1px solid rgba(255, 255, 255, 0.4);
		box-sizing: border-box;
		border-radius: 45px;
	}
	
	.hamburger__inner{
		position: absolute;
		top: 15px;
		left: 12px;
		width: 17px;
		height: 13px;
		cursor: pointer;
	}

	.hamburger__line{
		background: #fff;
		display: block;
		height: 1px;
		position: absolute;
		transition: 0.3s ease-out;
		width: 100%;
	}

	.hamburger__line--c{
		top: 6px;
	}

	.hamburger__line--b{
		bottom: 0px;
		}

	.hamburger__line--t.nav--active{
		transform: rotate(45deg);
		top: 6px;
	}

	.hamburger__line--c.nav--active{
		transform:scaleX(0);
	}

	.hamburger__line--b.nav--active{
		top: 6px;
		transform: rotate(135deg);
	}
}

/*navi*/
.sp-nav{
	background: rgba(0,0,0,0.8);
	display: none;
	height: 100%;
	width: 100%;
	position: fixed;
	z-index: 600;
	top: 0;
	left: 0;
}

.sp-nav__container{
	align-items:center;
	display: flex;
	height: 100%;
	justify-content: center;
	position: absolute;
	width: 100%;
}

.sp-nav__index {
	width: 230px;
	margin: 0 auto 20px auto;
}

.sp-nav__item{
	margin-bottom: 10px;
	padding-bottom: 10px;
	text-align: center;
}

.sp-nav__item:last-child{
	border: none;
}

.sp-nav__item a{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 18px;
	letter-spacing: 0.05em;
	line-height: 1.5;
	color: #fff;
}

.sp-nav__btn{
	width: 160px;
	height: 60px;
	margin: 0 auto;
}

.sp-nav__btn a{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	height: 100%;
	border-radius: 30px;
	font-weight: 700;
	font-size: 18px;
	background: #e13838;
	line-height: 1;
	color: #fff;
}

/*break
--------------------------------------------------*/
.pc--hidden{
	display: none;
}

.sp--hidden{
	display: block;
}

@media screen and (max-width: 768px) {
	.pc--hidden{
		display: block;
	}
	
	.sp--hidden{
		display: none;
	}
}

/*content fade
--------------------------------------------------*/
.content-fadeinup{
	opacity: 0;
	transform: translateY(30px);
}

/*heading
--------------------------------------------------*/
.content__heading{
  line-height : 1;
}

.content__heading span{
	display: block;
}

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

}

/*aboutus
--------------------------------------------------*/
.aboutus{
	background: #cf3328;
	padding: 0 0 100px 0;
}

.aboutus__container{
	width: 980px;
	margin: 0 auto;
	position: relative;
}

.aboutus__heading{
	position: absolute;
	top: 0;
	left: 0;
}

.aboutus__heading .content__heading--en{
	position: absolute;
	top: -7px;
	left: 16px;
}

.aboutus__heading .content__heading--ja{
	position: absolute;
	top: -1px;
	left: -52px;
}

.aboutus__txt__area{
	padding-top: 67px;
	margin: 0 0 57px 165px;
}

.aboutus__read{
	margin-bottom: 45px;
}

.aboutus__read span{
	display: inline-block;
	padding-bottom: 16px;
	margin-bottom: 12px;
  font-weight : 700;
  font-size : 42px;
  line-height : 1;
  color : #fff;
	background: url(../img/aboutus_dot.png) repeat-x bottom 0 left 0;
}

.aboutus__txt{
	width: 504px;
  font-weight : 700;
  font-size : 18px;
  line-height : 1.75;
  color : #fff;
	margin-bottom: 1.75em;
}

.aboutus__ph{
	position: absolute;
	top: 205px;
	right: -307px;
	width: 658px;
}

.aboutus__ph img{
	width: 100%;
}

.aboutus__list{
	display: flex;
	justify-content: space-between;
	line-height: 0;
}

.aboutus__item{
	width: 470px;
	box-shadow: 0 20px 20px rgba(0, 0, 0, 0.1);
	border-radius: 20px;
}

.aboutus__item img{
	width: 100%;
}

@media screen and (max-width: 768px) {
	.aboutus{
		padding: 0 0 50px 0;
	}

	.aboutus__container{
		width: auto;
		padding: 0 20px;
	}

	.aboutus__heading .content__heading--en{
		top: 45px;
		left: 38px;
	}

	.aboutus__heading .content__heading--en img{
		width: 44px;
	}

	.aboutus__heading .content__heading--ja{
		top: 50px;
		left: 10px;
	}

	.aboutus__heading .content__heading--ja img{
		width: 20px;
	}

	.aboutus__txt__area{
		padding-top: 50px;
		margin: 0 0 0 70px;
	}

	.aboutus__read{
		margin-bottom: 20px;
	}

	.aboutus__read span{
		display: inline;
		padding-bottom: 5px;
		margin-bottom: 0;
		font-size : 20px;
		line-height : 2;
		background: url(../img/aboutus_dot.png) repeat-x bottom 0 left 0/auto 2px;
	}

	.aboutus__txt{
		width: auto;
		font-size : 16px;
		line-height : 1.6;
		margin-bottom: 1.5em;
	}

	.aboutus__ph{
		position: relative;
		top: auto;
		right: auto;
		width: 100%;
	}

	.aboutus__ph img{
		width: 100%;
	}

	.aboutus__list{
		display: block;
	}

	.aboutus__item{
		width: 100%;
		box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
		border-radius: 10px;
		margin-bottom: 20px;
	}
}

/*Work
--------------------------------------------------*/
.work{
	padding: 178px 0 114px 0;
}

.work__container{
	width: 1200px;
	margin: 0 auto;
	background : #FDF6EC;
  border-radius : 30px;
	box-shadow: 0 20px 20px rgba(0, 0, 0, 0.1);
}

.work__inner{
	width: 980px;
	margin: 0 auto;
	position: relative;
	padding: 129px 0 9px 0;
}

.work__inner::before{
	content: '';
	display: block;
	background: url(../img/work_header_ph.webp) no-repeat 0 0/100%;
	width: 396px;
	height: 250px;
	position: absolute;
	top: -250px;
	right: -6px;
}

.work__heading{
	position: absolute;
	top: -79px;
	left: 0;
}

.work__heading .content__heading--en{
	margin-bottom: 12px;
}

.work__block{
	width: 820px;
	padding-top: 25px;
	margin: 0 auto 79px auto;
	display: flex;
	justify-content: space-between;
}

.work__ph__box{
	width: 320px;
	line-height: 0;
}

.work__ph img{
	width: 100%;
}

.work__txt__box{
	width: 442px;
	padding-top: 32px;
	position: relative;
}

.work__balloon{
  font-size : 16px;
  line-height : 1;
	position: absolute;
	top: -19px;
	left: -5px;
}

.work__balloon::after{
	content: '';
	display: block;
	width: 102%;
	height: 2px;
	background: #000;
	border-radius: 2px;
	position: absolute;
	bottom: -14px;
	left: 2px;
	z-index: 100;
}

.work__balloon::before{
	content: '';
	display: block;
	background: url(../img/work_balloon_line.svg) no-repeat 0 0/100%;
	width: 18px;
	height: 18px;
	position: absolute;
	bottom: -25px;
	left: 19px;
	z-index: 200;
}

.work__mhd{
  font-weight : 700;
  font-size : 28px;
	margin: 0 0 19px -4px;
}

.work__list{
	margin-bottom: 20px;
}

.work__item{
  font-size : 20px;
  line-height : 29px;
	padding-left: 50px;
	margin-bottom: 15px;
	background: url(../img/work_icon_check.svg) no-repeat 0 0;
}

.work__btn{
	width: 320px;
	height: 50px;
}

.work__btn a{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	background: #ed1c24 url(../img/arrow_01.svg) no-repeat top 50% right 15px;
	border-radius: 25px;
  font-weight : 700;
  font-size : 22px;
	line-height: 1;
  color : #fff;
}

@media screen and (min-width: 769px) {
	.work__btn a:hover{
		opacity: .6;
	}
}

@media screen and (max-width: 768px) {
	.work{
		padding: 80px 20px 50px 20px;
	}

	.work__container{
		width: auto;
		border-radius : 10px;
		box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
	}

	.work__inner{
		width: auto;
		padding: 50px 20px 5px 20px;
	}

	.work__inner::before{
		width: 135px;
		height: 86px;
		top: -85px;
		right: 10px;
	}

	.work__heading{
		top: -25px;
		left: 20px;
	}

	.work__heading .content__heading--en{
		margin-bottom: 5px;
	}

	.work__heading .content__heading--en img{
		width: 153px;
	}

	.work__heading .content__heading--ja img{
		height: 20px;
	}

	.work__block{
		width: auto;
		padding-top: 10px;
		margin-bottom: 30px;
		display: block;
	}

	.work__ph__box{
		width: 100%;
	}

	.work__txt__box{
		width: 100%;
		padding-top: 32px;
	}

	.work__balloon{
		font-size : 14px;
		top: auto;
		left: auto;
		width: fit-content;
	}

	.work__balloon::after{
		bottom: -10px;
	}

	.work__balloon::before{
		bottom: -21px;
	}

	.work__mhd{
		font-weight : 700;
		font-size : 18px;
		margin: 40px 0 15px 0;
	}

	.work__list{
		margin-bottom: 20px;
	}

	.work__item{
		font-size : 16px;
		line-height : 20px;
		padding-left: 30px;
		margin-bottom: 10px;
		background: url(../img/work_icon_check.svg) no-repeat 0 0/20px;
	}

	.work__btn{
		width: 280px;
		height: 50px;
	}

	.work__btn a{
		font-size : 18px;
	}
}

/*Gallery
--------------------------------------------------*/
/*準備ができたら表示*/
.gallery__list {display: none;}
.gallery__list.slick-initialized {display: block;}


.gallery .slick-slide {
  height: auto;
}

.slick-slider div {
	transition: none;
}

.gallery__item{
	width: 420px;
	height: 0 !important;
	padding-top: 260px;
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 100%;
	margin: 0 20px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

.gallery__item:nth-child(odd){
	margin-top: 40px;
}

.gallery__item-1{
	background-image: url(../img/gallery_01.webp);
}

.gallery__item-2{
	background-image: url(../img/gallery_02.webp);
}

.gallery__item-3{
	background-image: url(../img/gallery_03.webp);
}

.gallery__item-4{
	background-image: url(../img/gallery_04.webp);
}

.gallery__item-5{
	background-image: url(../img/gallery_05.webp);
}

.gallery__item-6{
	background-image: url(../img/gallery_06.webp);
}

.gallery__item-7{
	background-image: url(../img/gallery_07.webp);
}

.gallery__item-8{
	background-image: url(../img/gallery_08.webp);
}

.gallery__item-9{
	background-image: url(../img/gallery_09.webp);
}

@media screen and (max-width: 768px) {
	.gallery__item{
		width: 195px;
		padding-top: 121px;
		margin: 0 5px;
	}
	
	.gallery__item:nth-child(odd){
		margin-top: 20px;
	}
}

/*Interview
--------------------------------------------------*/
.interview {
	padding: 125px 0 0 0;
}

.interview__container{
	width: 980px;
	margin: 0 auto;
	position: relative;
}

.interview__heading{
	display: flex;
	align-items: center;
	margin-bottom: 21px;
	flex-direction: column;
}

.interview__heading .content__heading--en{
	margin-bottom: 17px;
	padding-right: 29px;
}

.interview__read{
  font-weight : 700;
  font-size : 26px;
  line-height : 1.55;
	text-align: center;
	padding-left: 15px;
	margin-bottom: 65px;
}

.interview__list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.interview__item{
	width: 310px;
	transition: 0.3s ease-out;
	cursor: pointer;
}

.interview__ph{
	height: 324px;
	background: #cf3328;
	border-radius: 20px;
	margin-bottom: 17px;
	position: relative;
}

.interview__ph img{
	width: 310px;
	position: absolute;
	bottom: 0;
	left: 0;
}

.interview__message{
  font-weight : 700;
  font-size : 24px;
  line-height : 1.27;
  color : #CF3328;
	text-align: center;
	margin-bottom: 10px;
	white-space: nowrap;
}

.interview__name{
  font-weight : 700;
  font-size : 32px;
  color : #CF3328;
	line-height: 1;
	text-align: center;
	margin-bottom: 13px;
}

.interview__place{
  font-size : 20px;
  line-height : 1;
	text-align: center;
	margin-bottom: 12px;
}

.interview__year{
  font-size : 20px;
  line-height : 1.275;
	text-align: center;
}

@media screen and (min-width: 769px) {
	.interview__item:hover{
		opacity: .6;
	}
}

@media screen and (max-width: 768px) {
	.interview {
		padding: 50px 0 20px 0;
	}

	.interview__container{
		width: auto;
		padding: 0 20px;
	}

	.interview__heading{
		margin-bottom: 20px;
	}

	.interview__heading .content__heading--en{
		margin-bottom: 5px;
		padding-right: 0;
	}

	.interview__heading .content__heading--en img{
		width: 231px;
	}

	.interview__heading .content__heading--ja img{
		height: 20px;
	}

	.interview__read{
		font-size : 20px;
		padding-left: 0;
		margin-bottom: 50px;
	}

	.interview__list{
		width: 280px;
		margin: 0 auto;
		display: block;
	}


	.interview__item{
		width: 280px;
		margin-bottom: 60px;
	}

	.interview__ph{
		height: 300px;
		border-radius: 10px;
		margin-bottom: 10px;
	}

	.interview__ph img{
		width: 280px;
	}

	.interview__message{
		font-size : 18px;
		line-height : 1.27;
		margin-bottom: 10px;
	}

	.interview__name{
		font-size : 25px;
		margin-bottom: 10px;
	}

	.interview__place{
		font-size : 16px;
		margin-bottom: 5px;
	}

	.interview__year{
		font-size : 16px;
		line-height : 1.275;
	}
}

/*interview modal
--------------------------------------------------*/
.modal{
	margin: 50px auto;
	padding-bottom: 62px;
	width: 800px;
	background: #fff;
	box-sizing: border-box;
	position: relative;
	border-radius: 60px;
	box-shadow: 0 20px 20px rgba(0, 0, 0, 0.1);
}

.modal__header{
	height: 370px;
	border-radius: 60px 60px 0 0;
	background: #cf3328 url(../img/modal_header_bg.svg) no-repeat bottom -11px left 33px;
	position: relative;
	padding: 53px 0 0 81px;
	box-sizing: border-box;
	margin-bottom: 55px;
}

.modal__ph{
	line-height: 0;
	position: absolute;
	bottom: 0;
	right: 20px;
	width: 310px;
}

#modal-2 .modal__ph{
	right: 29px;
}

#modal-3 .modal__ph{
	right: 37px;
}

.modal__ph img{
	width: 100%;
}

.modal__message{
  font-weight : 700;
  font-size : 37px;
  line-height : 1.5;
  color : #fff;
	margin-bottom: 13px;
}

.modal__name{
  font-weight : 700;
  font-size : 32px;
	line-height: 1;
  color : #fff;
	margin-bottom: 34px;
}

.modal__place{
  font-size : 20px;
  line-height : 1;
  color : #fff;
	margin-bottom: 5px;
}

.modal__year{
	  font-size : 20px;
  line-height : 1.25;
  color : #fff;
}

.modal__qa{
	width: 700px;
	margin: 0 auto;
}

.modal__q{
	padding-left: 69px;
	background: url(../img/modal_icon_q.svg) no-repeat top 50% left 0;
	display: flex;
    align-items: center;
	min-height: 51px;
  font-weight : 700;
  font-size : 24px;
  line-height : 1.27;
  color : #CF3328;
	margin-bottom: 18px;
}

.modal__a{
	padding-left: 69px;
	font-size : 16px;
	line-height : 1.78;
	margin-bottom: 47px;
}

.modal__btn{
	width: 679px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

.modal__btn__item{
	width: 320px;
	height: 50px;
}

.modal__btn__item a{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	background: #cf3328 url(../img/arrow_01.svg) no-repeat top 50% right 15px;
  font-weight : 700;
  font-size : 22px;
  color : #fff;
	border-radius: 30px;
}

.modal__btn__item .modal__close{
	background-color: #4d4d4d;
}

@media screen and (min-width: 769px) {
	.modal__btn a:hover{
		opacity: .6;
	}
}

@media screen and (max-width: 768px) {
	.modal{
		margin: 30px auto 80px auto;
		padding-bottom: 20px;
		width: 90%;
		border-radius: 30px;
		box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
	}

	.modal__header{
		height: 170px;
		border-radius: 30px 30px 0 0;
		background: #cf3328 url(../img/modal_header_bg.svg) no-repeat bottom -11px left 10px/100%;
		padding: 10px 0 0 20px;
		margin-bottom: 20px;
	}

	.modal__ph{
		right: 10px !important;
		width: 120px;
	}

	.modal__message{
		font-size : 18px;
		line-height : 1.5;
		margin-bottom: 8px;
	}

	.modal__name{
		font-size : 22px;
		margin-bottom: 10px;
	}

	.modal__place{
		font-size : 14px;
		margin-bottom: 5px;
	}

	.modal__year{
		font-size : 14px;
	}

	.modal__qa{
		width: auto;
		padding: 0 20px;
	}

	.modal__q{
		padding-left: 35px;
		background: url(../img/modal_icon_q.svg) no-repeat top 50% left 0/25px;
		min-height: 25px;
		font-size : 16px;
		line-height : 1.4;
		margin-bottom: 10px;
	}

	.modal__a{
		padding-left: 35px;
		font-size : 14px;
		line-height : 1.5;
		margin-bottom: 30px;
	}

	.modal__btn{
		width: 240px;
		display: block;
	}

	.modal__btn__item{
		width: 100%;
		height: 50px;
		margin-bottom: 15px;
	}

	.modal__btn__item a{
		background-size: 5px;
		font-size : 17px;
	}
}

/*Career Step
--------------------------------------------------*/
.step{
	background:#f2f2f2 url(../img/step_bg.webp) no-repeat 0 0/100%;
	padding: 198px 0 129px 0;
	margin-top: -64px;
}

.step__container{
	width: 1200px;
	height: 1056px;
	background: #fff;
	border-radius: 60px;
	box-shadow: 0 20px 20px rgba(0, 0, 0, 0.1);
	margin: 0 auto;
	position: relative;
}

.step__header__aera{
	height: 370px;
	background: #cf3328;
	border-radius: 60px 60px 0 0;
	position: relative;
}

.step__header__aera::before{
	display: block;
	content: '';
	background: url(../img/step_header_ph.webp) no-repeat 0 0/100%;
	width: 611px;
	height: 450px;
	position: absolute;
	bottom: 0;
	left: 290px;
}

.step__heading{
	position: absolute;
	top: 199px;
	left: 146px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.step__heading .content__heading--en{
	margin-bottom: -5px;
}

.step__main__area{
	width: 980px;
	margin: 0 auto;
	padding-top: 101px;
	line-height: 0;
}

.step__img{
	width: 100%;
}

.step__img__txt{
	display: none;
}

@media screen and (max-width: 768px) {
	.step{
		padding: 50px 0;
		margin-top: -30px;
		padding: 0 20px 50px 20px;
	}

	.step__container{
		width: auto;
		height: auto;
		border-radius: 30px;
		box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
	}

	.step__header__aera{
		height: 120px;
		border-radius: 30px 30px 0 0;
	}

	.step__header__aera::before{
		width: 170px;
		height: 124px;
		bottom: 0;
		left: auto;
		right: 10px;
	}

	.step__heading{
		top: 67px;
		left: 50%;
		transform: translateX(-50%);
	}

	.step__heading .content__heading--en{
		margin-bottom: -5px;
	}

		.step__heading .content__heading--en img{
			width: 289px;
		}

			.step__heading .content__heading--ja img{
				height: 20px;
			}

	.step__main__area{
		width: auto;
		padding: 30px 20px;
	}

	.step__img{
		width: 100%;
		height: 310px;
		overflow-x: scroll;
	}

	.step__img img{
		height: 310px;
	}

	.step__img__txt{
		display: block;
		padding: 20px 0 0 0;
		text-align: center;
		font-size: 12px;
		line-height: 1;
	}
}

/*Search
--------------------------------------------------*/
.search{
	padding: 154px 0 91px 0;
}

.search__container{
	width: 1200px;
	padding: 176px 0 104px 0;
	margin: 0 auto;
	background: #fdf6ec;
	border-radius: 30px;
	position: relative;
}

.search__container::before{
	content: '';
	display: block;
	background: url(../img/search_header_ph.webp) no-repeat 0 0/100%;
	width: 429px;
	height: 246px;
	position: absolute;
	top: -71px;
	right: 114px;
}

.search__heading{
	position: absolute;
	top: -246px;
	left: -22px;
	display: flex;
	flex-direction: column;
}

.search__heading .content__heading--en{
	margin-bottom: 12px;
}

.search__heading .content__heading--ja{
	padding-left: 22px;
}

.search__inner{
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 20px 20px rgba(0, 0, 0, 0.1);
	width: 980px;
	margin: 0 auto;
	padding: 55px 30px 37px 0;
	box-sizing: border-box;
	position: relative;
}

.search__list{
	width: 470px;
	margin-left: auto;
}

.search__item{
	margin-bottom: 10px;
}

.search__item a{
	color: #333;
	display: block;
	background: #fdf6ec url(../img/arrow_02.svg) no-repeat top 50% right 20px;
	border-radius: 20px;
	padding: 22px 65px 22px 22px;
	box-sizing: border-box;
}

.search__ttl{
  font-weight : 700;
  font-size : 22px;
  line-height : 1;
  color : #CF3328;
	margin-bottom: 4px;
}

.search__txt{
  font-size : 15px;
  line-height : 1.56;
}

.search__map{
	line-height: 0;
	position: absolute;
	top: 107px;
	left: 31px;
}

@media screen and (min-width: 769px) {
	.search__item a:hover{
		opacity: .5;
	}
}

@media screen and (max-width: 768px) {
	.search{
		padding: 70px 20px 50px 20px;
	}

	.search__container{
		width: auto;
		padding: 62px 20px 20px 20px;
		border-radius: 20px;
	}

	.search__container::before{
		width: 160px;
		height: 91px;
		top: -30px;
		right: -15px;
	}

	.search__heading {
		top: -90px;
		left: 0;
	}

	.search__heading .content__heading--en{
		margin-bottom: 5px;
	}

	.search__heading .content__heading--en img{
		width: 166px;
	}

	.search__heading .content__heading--ja img{
		height: 20px;
	}

	.search__heading .content__heading--ja{
		padding-left: 10px;
	}

	.search__inner{
		border-radius: 10px;
		box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
		width: auto;
		padding: 20px;
	}

	.search__list{
		width: auto;
		margin-left: 0;
	}

	.search__item a{
		background: #fdf6ec url(../img/arrow_02.svg) no-repeat top 50% right 10px/15px;
		border-radius: 20px;
		padding: 15px 30px 15px 15px;
		box-sizing: border-box;
	}

	.search__ttl{
		font-size : 16px;
		margin-bottom: 4px;
	}

	.search__txt{
		font-size : 14px;
		line-height : 1.56;
	}

	.search__map{
		position: relative;
		top: auto;
		left: auto;
		margin-bottom: 20px;
	}

	.search__map img{
		width: 100%;
	}
}

/*sp entry button
--------------------------------------------------*/
.floating__btm__btn{
	display: none;
	z-index: 300;
}

@media screen and (max-width: 768px) {
	.floating__btm__btn{
		display: block;
		width: 100%;
		position: fixed;
		bottom: 0;
		left: 0;
	}

	.floating__btm__btn a{
		box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
		border-top: 1px solid rgba(0, 0, 0, 0.1);
		display: block;
		line-height: 45px;
		background: #cf3328;
		font-weight: 700;
		font-size: 18px;
		text-align: center;
		color: #fff;
		letter-spacing: 2px;
	}
}
/*footer
--------------------------------------------------*/
.footer p,
.footer a{
	color: #333;
}

.footer__container{
	display: flex;
	justify-content: space-between;
	width: 980px;
	margin: 0 auto;
	padding-bottom: 45px;
}

.footer__logo{
	width: 280px;
	line-height: 0;
}

.footer__logo img{
	width: 100%;
}

.footer__link__block{
	width: fit-content;
	padding: 9px 12px 0 0;
}

.footerLink__list{
	margin-bottom: 17px;
	display: flex;
}

.footerLink__item{
  font-size : 15px;
  line-height : 1;
	margin-left: 16px;
	position: relative;
}

.footerLink__item::before{
	content: '';
	display: block;
	height: 17px;
	width: 1px;
	background: #333;
	position: absolute;
	left: -9px;
	top: 0;
}

.footerLink__item:first-child{
	margin-left: 0;
}

.footerLink__item:first-child::before{
	display: none;
}

.copyright{
  font-size : 15px;
  line-height : 1;
}

@media screen and (min-width: 769px) {
	.footer__logo a:hover{
		opacity: .7;
	}

	.footerLink__item a:hover{
		text-decoration: underline;
	}
}

@media screen and (max-width: 768px) {
	.footer__container{
		width: auto;
		padding-bottom: 80px;
		flex-direction: column;
		align-items: center;
	}

	.footer__logo{
		width: 180px;
		text-align: center;
		margin-bottom: 20px;
	}

	.footer__link__block{
		width: fit-content;
		padding: 0;
	}

	.footerLink__list{
		margin-bottom: 10px;
		flex-wrap: wrap;
		justify-content: center;
	}

	.footerLink__item{
		font-size : 12px;
		line-height : 2;
		margin-left: 14px;
		white-space: nowrap;
	}

	.footerLink__item::before{
		height: 13px;
		left: -7px;
		top: 5px;
	}

	.copyright{
		font-size : 10px;
		text-align: center;
	}
}