@font-face {
	font-family: "Noto Sans JP Bold";
	font-style: normal;
	font-weight: normal;
	src: local("Noto Sans JP Bold"),url("../fonts/NotoSansJP-Bold.ttf") format("truetype");
}

@font-face {
	font-family: "Noto Sans JP Medium";
	font-style: normal;
	font-weight: normal;
	src: local("Noto Sans JP Medium"),url("../fonts/NotoSansJP-Medium.ttf") format("truetype");
}

@font-face {
	font-family: "Noto Sans JP Regular";
	font-style: normal;
	font-weight: normal;
	src: local("Noto Sans JP Regular"),url("../fonts/NotoSansJP-Regular.ttf") format("truetype");
}

@font-face {
	font-family: "Poppins Bold";
	font-style: normal;
	font-weight: normal;
	src: local("Poppins Bold"),url("../fonts/Poppins-Bold.ttf") format("truetype");
}

@font-face {
	font-family: "KozGoPr6N-heavy";
	font-style: normal;
	font-weight: normal;
	src: local("KozGoPr6N-Heavy"),url("../fonts/KozGoPr6N-Heavy.otf") format("opentype");
}

@font-face {
	font-family: "KozGoPr6N-medium";
	font-style: normal;
	font-weight: normal;
	src: local("KozGoPr6N-Heavy"),url("../fonts/KozGoPr6N-Medium.otf") format("opentype");
}

@font-face {
	font-family: "ZenKakuGothicAntique-Black";
	font-style: normal;
	font-weight: normal;
	src: local("ZenKakuGothicAntique-Black"),url("../fonts/ZenKakuGothicAntique-Black.ttf") format("truetype");
}

@font-face {
	font-family: "Adobe Handwriting Ernie";
	font-style: normal;
	font-weight: normal;
	src: local("Adobe Handwriting Ernie"),url("../fonts/AdobeHandwriting-Ernie.ttf") format("truetype");
}

@font-face {
	font-family: "Apple SD Gothic Neo";
	font-style: normal;
	font-weight: normal;
	src: local("Apple SD Gothic Neo"),url("../fonts/AppleSDGothicNeoR.ttf") format("truetype");
}

.message {
	background-color: #fffaf4;
	padding-bottom: 56px;
	padding-top: 74px;
	position: relative;
}

.message_background_top {
	background-image: url(../img/background_beige.png);
	background-repeat: no-repeat;
	background-size: contain;
	height: 1600px;
	position: absolute;
	top: 0;
	width: 100%;
}

.message_background_tiny {
	background-image: url(../img/message_background_fluffy.png);
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 0;
	height: 456px;
	position: absolute;
	right: 0;
	width: 312px;
}

.message_background {
	position: relative;
	z-index: 10;
}

.message .section_title {
	margin-bottom: 38px;
}

.message .section_subtitle {
	color: #4d2c0c;
	font-size: 40px;
	margin-bottom: 50px;
	text-align: center;
}

.message_text {
	color: #4d2c0c;
	font-size: 16px;
	line-height: 30px;
	text-align: center;
}

.message_container {
	align-items: center;
	justify-content: space-evenly;
	margin-top: 54px;
}

.message_staff_text {
	text-align: left;
}

.message_container_reverse {
	align-items: center;
	flex-direction: row-reverse;
	justify-content: space-evenly;
	margin-bottom: 84px;
	margin-top: -30px;
}

.message_summery {
	color: #4d2c0c;
	margin-bottom: 16px;
	text-align: center;
}

.goal {
	position: relative;
}

.goal_background_top {
	background-image: url(../img/goal_background1.png);
	background-repeat: no-repeat;
	background-size: contain;
	height: 600px;
	position: absolute;
	top: -2px;
	width: 100%;
	z-index: 20;
}

.goal .section_title {
	margin-bottom: 20px;
	padding-top: 325px;
}

.goal_background_image {
	background-image: url(../img/goal_background2.png);
	background-position: center;
	background-size: cover;
	height: 100%;
	padding-bottom: 560px;
	position: relative;
	width: 100%;
	z-index: 10;
}

.goal .section_subtitle {
	color: #4d2c0c;
	font-weight: normal;
	margin-bottom: 36px;
	text-align: center;
}

.goal_text {
	color: #4d2c0c;
	line-height: 36px;
	margin-bottom: 50px;
	text-align: center;
	text-shadow: #fff 0 3px 6px;
}

.goal_image {
	display: block;
	margin: 0 auto;
	max-width: 1200px;
	width: 100%;
}

.fact {
	background-color: #fffaf4;
	position: relative;
}

.fact_background_top {
	background-image: url(../img/fact_background_top.png);
	background-repeat: no-repeat;
	background-size: contain;
	height: 1000px;
	position: absolute;
	top: -2px;
	width: 100%;
}

.fact_background_tiny {
	background-image: url(../img/fact_background_fluffy.png);
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 0;
	height: 456px;
	max-width: 278px;
	position: absolute;
	right: 0;
	width: 100%;
}

.fact .section_title {
	-webkit-text-stroke: 2px #fdfaf7;
	font-size: 83px;
	padding-top: 100px;
	position: relative;
	text-align: left;
	z-index: 10;
}

.fact .section_subtitle {
	color: #fff;
	font-size: 20px;
	font-weight: normal;
	letter-spacing: 1px;
	position: relative;
	z-index: 10;
}

.fact_layout {
	justify-content: space-around;
	margin: 450px 0 180px 0;
	position: relative;
	z-index: 20;
}

.fact_image_first {
	display: block;
	-o-object-fit: contain;
	object-fit: contain;
	width: 186px;
}

.fact_heading {
	color: #4d2c0c;
	font-size: 20px;
	font-weight: normal;
	margin-bottom: 36px;
	text-align: center;
}

.fact_text {
	color: #4d2c0c;
	line-height: 30px;
	margin-bottom: 60px;
	text-align: center;
}

.fact_button {
	margin: 0 auto;
}

.fact_layout_reverse {
	flex-direction: row-reverse;
	justify-content: space-around;
	position: relative;
	z-index: 20;
}

.fact_image_second {
	display: block;
	max-width: 375px;
	width: 100%;
}

.fact_caution {
	color: #4d2c0c;
	font-size: 14px;
	margin-bottom: 32px;
	text-align: center;
}

.movie {
	background-color: #f2e4d1;
	padding-bottom: 560px;
	position: relative;
}

.movie_background_top {
	background-image: url(../img/movie_backgeound_top.png);
	background-repeat: no-repeat;
	background-size: contain;
	height: 1200px;
	position: absolute;
	top: 0;
	width: 100%;
}

.movie .section_title {
	-webkit-text-stroke: initial;
	color: #f2e4d1;
	font-size: 94px;
	padding-top: 200px;
	position: relative;
	text-align: right;
	z-index: 20;
}

.movie_layout {
	align-items: center;
	justify-content: space-around;
	position: relative;
	z-index: 20;
}

.movie_text {
	color: #4d2c0c;
}

.interview {
	background-color: #fffaf4;
	padding-bottom: 140px;
	position: relative;
}

.interview_background_top {
	background-image: url(../img/interview_background_top.png);
	background-repeat: no-repeat;
	background-size: contain;
	height: 400px;
	position: absolute;
	top: -2px;
	width: 100%;
}

.interview_background_tiny {
	background-image: url(../img/interview_background_fluffy.png);
	background-repeat: no-repeat;
	background-size: contain;
	bottom: -96px;
	height: 456px;
	left: 0;
	max-width: 278px;
	position: absolute;
	width: 100%;
}

.interview .section_title {
	-webkit-text-stroke: initial;
	color: #f68e21;
	font-size: 83px;
	margin-bottom: 100px;
	padding-top: 320px;
	position: relative;
	text-align: center;
	z-index: 10;
}

.interview .swiper {
	height: 450px;
}

.interview .swiper-container {
	width: 100%;
}

.interview .swiper-wrapper {
	width: 100%;
}

.interview .swiper-slide {
	box-sizing: border-box;
	display: block;
	text-align: center;
	width: 25%;
}

.interview .slide {
	position: relative;
	transform: scale(1.2);
	width: 100%;
}

.interview .swiper-slide img {
	height: 280px;
	max-width: 212px;
	transition: all .3s ease-in-out;
	width: 100%;
}

.interview .swiper-slide:hover img {
	transform: scale(1.4) translateY(40px);
	z-index: 10;
}

.interview .slide-content {
	bottom: 24px;
	color: #fff;
	left: 50%;
	max-width: 170px;
	position: absolute;
	text-align: left;
	text-shadow: #000 0 3px 6px;
	transform: translateX(-50%);
	transition: transform .3s ease-in-out;
	width: 90%;
}

.interview .swiper-slide:hover .slide-content {
	transform: translateX(-50%) translateY(90px);
}

.interview_comment {
	font-size: 14px;
	margin-bottom: 12px;
}

.interview_button {
	margin: 0 300px 0 auto;
	padding-left: 36px;
	text-align: left;
}

.interview .top_button span {
	right: 36px;
}

.instagram {
	background-color: #fffaf4;
}

.instagram .section_title {
	margin-bottom: 70px;
}

.instagram_image {
	display: block;
	margin: 0 auto;
	max-width: 1054px;
	width: 100%;
}

.instagram_button {
	margin: 92px auto 0 auto;
}

.news {
	background-color: #f2e4d1;
	padding-bottom: 120px;
	position: relative;
}

.news_background_top {
	background-image: url(../img/news_background_top.png);
	background-repeat: no-repeat;
	background-size: contain;
	height: 1200px;
	position: absolute;
	top: 0;
	width: 100%;
}

.news .section_title {
	margin-left: 134px;
	padding-top: 280px;
	text-align: left;
}

.news .swiper-container {
	margin-top: 170px;
}

.news .swiper {
	height: 660px;
}

.news .swiper-slide {
	display: block;
	width: 28.5714285714%;
}

.news .swiper-slide a {
	color: #4d2c0c;
}

.news .swiper-slide img {
	transition: opacity .3s ease-in-out;
}

.news .swiper-slide img.swiper-lazy-loaded {
	opacity: 1;
}

.news .swiper-slide img.swiper-lazy-loading {
	opacity: 0;
}

.news .slide {
	border-radius: 15px;
	box-shadow: #6d6d6d 0 3px 3px;
}

.news_image {
	border-radius: 15px 15px 0 0;
	display: block;
	width: 100%;
}

.news .slide-content {
	background-color: #fffbf7;
	border-radius: 0 0 15px 15px;
	padding: 12px 14px 22px 14px;
}

.news_heading {
	font-size: 18px;
}

.gallery {
	background-color: #fffaf4;
	padding-top: 35px;
}

.gallery .section_title {
	-webkit-text-stroke: initial;
	color: #f68d21;
	margin-bottom: 64px;
}

.gallery .swiper-slide {
	display: block;
	padding-bottom: 24px;
	width: 22.2222222222%;
}

.gallery .swiper-slide img {
	box-shadow: #9e9e9e 0 3px 3px;
}

.entry {
	background-color: #f2e4d1;
	padding-bottom: 100px;
	padding-top: 520px;
	position: relative;
}

.entry_background_top {
	background-image: url(../img/entry_background_top.png);
	background-repeat: no-repeat;
	background-size: contain;
	height: 600px;
	position: absolute;
	top: 0;
	width: 100%;
}

.entry_container {
	background-color: #fffaf4;
	padding: 56px;
}

.entry .section_title {
	margin-bottom: 30px;
}

.entry .section_subtitle {
	font-size: 26px;
	margin-bottom: 58px;
	text-align: center;
}

.entry_top_text {
	margin-bottom: 160px;
	text-align: center;
}

.entry_layout {
	border-top: 1px solid #4d2c0c;
	color: #4d2c0c;
	padding: 20px 40px;
}

.entry_layout_last {
	border-bottom: 1px solid #4d2c0c;
}

.entry_list {
	max-width: 180px;
	text-align: left;
	width: 100%;
}

.entry_label {
	background-color: #ff7900;
	color: #fff;
	height: 27px;
	letter-spacing: 16px;
	line-height: 27px;
	margin-right: 56px;
	max-width: 90px;
	padding: 0 4px 0 20px;
	width: 100%;
}

.radio_box {
	margin-bottom: 12px;
}

.entry input[type=radio] {
	margin-right: 16px;
	width: 24px;
}

.entry .radio_box label {
	max-width: 354px;
	width: 100%;
}

.entry input[type=text],
.entry input[type=tel],
.entry input[type=email] {
	border: #4d2c0c 1px solid;
	height: 40px;
	max-width: 460px;
	width: 100%;
}

.label_space {
	width: 148px;
}

.entry textarea[name=message] {
	border: #4d2c0c 1px solid;
	height: 385px;
	max-width: 460px;
	width: 100%;
}

.privacy_policy_container {
	border-bottom: 1px solid #4d2c0c;
	color: #4d2c0c;
	padding: 20px 40px 60px 40px;
	text-align: left;
}

.privacy_policy {
	font-size: 18px;
	line-height: 27px;
	margin: 42px 0;
	text-align: left;
}

.policy_title {
	font-size: 20px;
}

.policy_text {
	font-size: 16px;
}

.agree_container {
	color: #333;
	margin: 0 auto 64px auto;
	padding-top: 50px;
}

.agree_layout {
	align-items: center;
	justify-content: center;
}

input[type=checkbox] {
	height: 40px;
	width: 100px;
}

.submit_button_container {
	margin: 0 auto;
	max-width: 312px;
	position: relative;
	width: 100%;
}

.entry_button {
	display: block;
	margin: 0 auto;
	max-width: 312px;
}

.entry_button:hover {
	opacity: .8;
	transition: all .3s ease;
}

.submit_button_container span {
	display: block;
	position: absolute;
	right: 35px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
}

.submit_button_container span img {
	width: 100%;
}

.recruit_information {
	background-color: #f2e4d1;
	padding-bottom: 100px;
	padding-top: 520px;
	position: relative;
}

.recruit_information_background_top {
	background-image: url(../img/entry_background_top.png);
	background-repeat: no-repeat;
	background-size: contain;
	height: 600px;
	position: absolute;
	top: 0;
	width: 100%;
}

.mynavi_link {
	display: block;
	margin: 0 auto;
	width: -moz-fit-content;
	width: fit-content;
}

.recruit_information .logo_mynavi {
	margin-bottom: 24px;
}

.mynavi_text {
	margin-bottom: 148px;
	text-align: center;
}

.back-to-top {
	bottom: 20px;
	display: block;
	height: 48px;
	position: fixed;
	right: 30px;
	width: 42px;
	z-index: 30;
}

.back-to-top:hover {
	opacity: 1;
}

.back-to-top img {
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
	width: 100%;
}

