@charset "UTF-8";
/*
====================================================================
 Fonts
====================================================================
*/
/* Rounded M+ 1c Bold */
@font-face {
  font-display: swap;
  font-family: "MPlus";
  font-style: normal;
  font-weight: 700;
  src: local(""), url("./fonts/mplus1-bold.woff2") format("woff2"), url("./fonts/mplus1-bold.woff") format("woff");
}
/*
====================================================================
 BASIC
====================================================================
*/
html,
body {
  min-width: 1080px;
  min-height: 100%;
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  font-family: "游ゴシック体", "YuGothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Sans", sans-serif;
  font-weight: 600;
  text-rendering: optimizeLegibility;
  vertical-align: baseline;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.05em;
  position: relative;
  color: black;
}

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

img {
  max-width: 100%;
  vertical-align: bottom;
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

button {
  transition: all 0.3s;
  cursor: pointer;
  line-height: 1;
}

small {
  font-size: 70%;
}

@media (768px <= width) {
  .sp {
    display: none !important;
  }
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
@media (768px <= width <= 1024px) {
  .extb {
    display: none !important;
  }
}
/*
====================================================================
 HEADER
====================================================================
*/
header {
  position: absolute;
  width: 100%;
  background-color: white;
  left: 0;
  top: 0;
  z-index: 999;
}

.header-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 90px;
}
.header-container .logo {
  padding: 0 30px;
}

nav a {
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 24px;
  font-weight: 600;
  height: 90px;
  width: 200px;
  background: #e1222a url(../images/icon_arrow.svg) right 20px center/auto 18px no-repeat;
}

/*
====================================================================
 COMMON
====================================================================
*/
main {
  width: 100%;
  overflow-x: hidden;
  overflow-y: hidden;
}

main > section {
  position: relative;
  padding: 50px 0;
}
section .container {
  width: 1000px;
  margin: 0 auto;
}

h2 {
  margin-bottom: 30px;
  text-align: center;
  font-size: 44px;
  font-weight: 600;
}
h2 span {
  display: block;
  font-size: 15px;
  color: #e1222a;
}
h2 + p {
  font-size: 24px;
  font-feature-settings: "palt";
}

.subsection {
  padding: 75px 0 25px 0;
}

h3 {
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 40px;
}
h3::after {
  content: "";
  display: block;
  width: 57px;
  height: 2px;
  background-color: #e1222a;
  margin-top: 26px;
}
h3 + p {
  font-size: 24px;
}

.text {
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  text-transform: uppercase;
  flex-wrap: wrap;
}

.text.is-active {
  --y: 0;
}

h2 span.char {
  color: inherit;
  font-size: inherit;
  display: inline-block;
  transform: translateY(var(--y, 110%));
  transition: transform 0.4s cubic-bezier(0.77, 0, 0.175, 1);
  transition-delay: calc(0.04s * var(--char-index));
}

.fadein {
  opacity: 0;
  visibility: hidden;
  transition: all 2s;
  transform: translateY(30px);
}

.fadein.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.fadeinLi li {
  opacity: 0;
}

.fadeinLi li.is-active {
  animation-name: fadeIn1s;
  animation-delay: 0.2s;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  transform: translateY(30px);
}
.fadeinLi li.is-active:nth-child(2) {
  animation-delay: 0.4s;
}
.fadeinLi li.is-active:nth-child(3) {
  animation-delay: 0.6s;
}
.fadeinLi li.is-active:nth-child(4) {
  animation-delay: 0.8s;
}
.fadeinLi li.is-active:nth-child(5) {
  animation-delay: 1s;
}
.fadeinLi li.is-active:nth-child(6) {
  animation-delay: 1.2s;
}

.fadeinLi .step {
  opacity: 0;
}

.fadeinLi .step.is-active {
  animation-name: fadeIn1s;
  animation-delay: 0.2s;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  transform: translateY(30px);
}
.fadeinLi .step.is-active.step02 {
  animation-delay: 0.4s;
}
.fadeinLi .step.is-active.step03 {
  animation-delay: 0.6s;
}
.fadeinLi .step.is-active.step04 {
  animation-delay: 0.8s;
}

.fadeinLi .panel {
  opacity: 0;
}

.fadeinLi .is-active {
  animation-name: fadeIn1s;
  animation-delay: 0.3s;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  transform: translateY(50px);
}
.fadeinLi .is-active:nth-child(2) {
  animation-delay: 0.6s;
}

@keyframes fadeIn1s {
  0% {
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
/*
====================================================================
 KEYVISUAL
====================================================================
*/
.kv__video {
  width: 100%;
}
.kv__video video {
  display: block;
  width: 100%;
}

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

.kv__text {
  position: absolute;
  left: 64px;
  bottom: 60px;
  filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, 0.3));
  width: 53.5%;
}

.kv__image {
  width: 100%;
  display: flex;
  justify-content: center;
  overflow-x: hidden;
}

/*
====================================================================
 01
====================================================================
*/
.section01 {
  position: relative;
  border-bottom-right-radius: 94px;
  background: white;
}
.section01::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 440px;
  left: 0;
  top: 0;
  background: url(../images/bg_common.png) left top/cover no-repeat;
}
.section01::after {
  content: "";
  display: block;
  position: absolute;
  width: 94px;
  height: 100%;
  background-color: #fdf2f3;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.section01 .container {
  position: relative;
  z-index: 1;
}
.section01 h2 {
  color: white;
}
.section01 h2 span {
  color: white;
}
.section01 h2 + p {
  color: white;
}
.section01 .card {
  margin: 36px 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  padding: 0 40px;
}
.section01 .card__item {
  position: relative;
}
.section01 .card__item img {
  position: relative;
  z-index: 1;
}
.section01 .card__item::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #e1222a;
  right: -3px;
  bottom: -3px;
  mix-blend-mode: multiply;
}

/*
====================================================================
 02
====================================================================
*/
.section02 {
  background-color: #fdf2f3;
  border-radius: 94px 0 0 94px;
}
.section02 .figure-container {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto 1fr;
  margin-top: 36px;
  font-weight: 600;
}
.section02 figure {
  grid-row: 1/3;
  margin-top: 8px;
}
.section02 dt {
  background-color: #e1222a;
  color: white;
  padding: 0 10px;
  font-size: 20px;
  font-weight: 600;
}
.section02 dd {
  background-color: white;
  color: #e1222a;
  font-size: 20px;
  padding: 5px 10px;
  line-height: 1.5;
}
.section02 .policy {
  margin-top: 10px;
  padding-left: 64px;
}
.section02 .policy li {
  margin-bottom: 12px;
}
.section02 .policy .inner-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  -moz-column-gap: 12px;
       column-gap: 12px;
  background-color: white;
  padding: 0 18px 0 60px;
  min-height: 96px;
  letter-spacing: 0;
  line-height: 1.5;
}
.section02 .policy .inner-wrapper::before {
  content: "";
  display: block;
  position: absolute;
  width: 100px;
  height: 100px;
  left: 0;
  top: 50%;
  transform: translate(-50%, -50%);
}
.section02 .policy .inner-wrapper span {
  display: block;
  padding: 10px 0;
}
.section02 .policy01 {
  color: #008ab2;
}
.section02 .policy01 .inner-wrapper::before {
  background: url(../images/icon_philosophy_01.png) left center/contain no-repeat;
}
.section02 .policy02 {
  color: #798b4a;
}
.section02 .policy02 .inner-wrapper::before {
  background: url(../images/icon_philosophy_02.png) left center/contain no-repeat;
}
.section02 .policy02 span:first-child {
  border-bottom: 1px solid #798b4a;
}
.section02 .policy03 {
  color: #f18d38;
}
.section02 .policy03 .inner-wrapper::before {
  background: url(../images/icon_philosophy_03.png) left center/contain no-repeat;
}
.section02 .subsection ul {
  background-color: white;
  padding: 35px 38px;
  display: flex;
  flex-direction: column;
  row-gap: 30px;
}
.section02 .subsection li {
  padding-left: 120px;
}
.section02 .subsection li:nth-child(1) {
  background: url(../images/logo_initiatives_01.png) left center/80px auto no-repeat;
}
.section02 .subsection li:nth-child(2) {
  background: url(../images/logo_initiatives_02.png) left center/80px auto no-repeat;
}
.section02 .subsection li:nth-child(3) {
  background: url(../images/logo_initiatives_03.png) left center/80px auto no-repeat;
}
.section02 .subsection h4 {
  font-size: 20px;
  font-weight: 600;
}
.section02 .subsection p {
  font-weight: 400;
}

/*
====================================================================
 03
====================================================================
*/
.section03 {
  position: relative;
  background-color: white;
  text-align: center;
  border-radius: 0 94px 94px 0;
}
.section03::after {
  content: "";
  display: block;
  position: absolute;
  width: 94px;
  height: 100%;
  background-color: #fdf2f3;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.section03 h2 + h3::after {
  margin-left: auto;
  margin-right: auto;
}
.section03 .panels {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 38px 24px;
  margin-top: 30px;
  margin-bottom: 80px;
}
.section03 .panel {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr;
}
.section03 .panel .back {
  z-index: 500;
  content: "";
  position: absolute;
  width: 60%;
  height: 230px;
  top: 0;
  left: 0;
  background-color: #e1222a;
}
.section03 .panel .back::before {
  content: "";
  position: absolute;
  left: 20px;
  bottom: 0;
  width: 1px;
  height: calc(100% - 10px);
  background-color: white;
}
.section03 .panel .back::after {
  content: "";
  position: absolute;
  right: 0;
  top: 20px;
  width: calc(100% - 10px);
  height: 1px;
  background-color: white;
}
.section03 .panel.even .back {
  background-color: white;
}
.section03 .panel.even .back::before {
  background-color: #e1222a;
}
.section03 .panel.even .back::after {
  background-color: #e1222a;
}
.section03 .panel.even .panel__title {
  color: #de0517;
}
.section03 .panel.even .back02 {
  background-color: #e1222a;
}
.section03 .panel.even .back02::before {
  background-color: white;
}
.section03 .panel.even .back02::after {
  background-color: white;
}
.section03 .panel__title {
  /*background-color: $main;*/
  z-index: 600;
  position: relative;
  color: white;
  text-align: left;
  font-size: 20px;
  font-weight: 600;
  padding-top: 30px;
  padding-left: 35px;
}
.section03 .panel__content {
  margin-top: 0;
}
.section03 .panel__content div {
  position: relative;
  padding: 0 0 35px 0;
}
.section03 .panel__content div .back02 {
  display: block;
  z-index: 500;
  content: "";
  position: absolute;
  width: 60%;
  height: 230px;
  bottom: 0;
  right: 0;
  background-color: white;
}
.section03 .panel__content div .back02::before {
  content: "";
  position: absolute;
  right: 20px;
  top: 0;
  width: 1px;
  height: calc(100% - 10px);
  background-color: #e1222a;
}
.section03 .panel__content div .back02::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 20px;
  width: calc(100% - 10px);
  height: 1px;
  background-color: #e1222a;
}
.section03 .panel__content img {
  z-index: 600;
  position: relative;
  display: block;
  width: 410px;
  margin: 5px auto 0 auto;
}
.section03 .panel__content img::before {
  content: "";
  position: absolute;
  left: 20px;
  bottom: 0;
  width: 1px;
  height: calc(100% - 10px);
  background-color: white;
}
.section03 .panel__content p {
  margin-top: 10px;
  font-weight: 400;
  text-align: left;
  line-height: 1.6;
  font-feature-settings: "palt";
}
.section03 .panel:nth-child(3) {
  grid-column: 1/3;
}
.section03 .panel:nth-child(3) .panel__content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 18px;
       column-gap: 18px;
}
.section03 .panel:nth-child(3) .panel__content div {
  padding: 0;
}
.section03 .panel:nth-child(3) .panel__content img {
  width: 100%;
}
.section03 .panel:nth-child(3) .panel__content dl {
  padding: 0 0 16px 10px;
}
.section03 .panel:nth-child(3) .panel__content dt {
  font-weight: 600;
}
.section03 .panel:nth-child(3) .panel__content dd {
  text-align: left;
  font-feature-settings: "palt";
}

.production {
  text-align: left;
  padding-bottom: 0;
  background: url(../images/bg_common.png);
  background-size: 100% 100%;
}
.production h3 {
  width: 1000px;
  color: white;
  margin: 0 auto 20px;
}
.production h3::after {
  background-color: white;
}
.production .container {
  width: 100%;
}

.swiper-wrapper {
  /*justify-content: center;*/
  padding-bottom: 200px;
}

.slide {
  position: relative;
  width: 480px;
  text-align: center;
  padding: 45px 0 45px;
  margin: 50px 20px 0;
  transition: all 1s;
}
.slide span {
  position: relative;
  overflow: hidden;
  display: block;
  width: 480px;
  height: 360px;
  transition: all 1s;
  border-radius: 20px;
}
.slide.swiper-slide-active span {
  width: 600px;
  height: 450px;
}
.slide.swiper-slide-active span img {
  top: 0;
  left: 0;
  width: 100%;
}
.slide.swiper-slide-active span img:nth-child(2) {
  top: auto;
  bottom: 15px;
  width: 100%;
}
.slide img {
  position: absolute;
  top: -120px;
  left: -90px;
  width: 150%;
  max-width: none;
  transition: all 1s;
}
.slide img:nth-child(2) {
  top: auto;
  bottom: 10px;
  left: 0;
  width: 100%;
  transition: all 1s;
}
.slide.swiper-slide-active {
  width: 600px;
  height: 450px;
  padding: 0;
}
.slide img {
  filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, 0.3));
}
.slide-container {
  width: 100%;
  position: relative;
}
.slide-navigation {
  position: absolute;
  bottom: 105px;
  right: calc(50% - 485px);
  width: 41px;
  height: 37px;
  background: url(../images/icon_arrow_slider_left.svg) center center no-repeat;
  background-size: 100% 100%;
  white-space: nowrap;
  text-indent: 100%;
  overflow: hidden;
  cursor: pointer;
  z-index: 10;
}
.slide-navigation.next {
  right: calc(50% - 550px);
  background: url(../images/icon_arrow_slider_right.svg) center center no-repeat;
}
.slide-button-back {
  position: absolute;
  right: calc(50% - 600px);
  bottom: 20px;
  animation: rotateAnimation 15s linear infinite;
}

@keyframes rotateAnimation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/*
.slide {
	width: 480px;
	height: 360px;
	text-align: center;
	padding: 0 0 20px;
	margin: 0 20px;

	span {
		position: relative;
		overflow: hidden;
		display: block;
		width: 480px;
		height: 360px;
		transition: all 1.0s;
		border-radius: 20px;
	}

	&.swiper-slide-active span {
		display: block;
		width: 600px;
		height: 450px;
		transform: scale(1.00);
	}

	img {
		position: absolute;
		top: - calc( calc( 360px * 1.1 - 360px ) / 2 );
		left: - calc( calc( 480px * 1.1 - 480px ) / 2 );
		width: 110%;
		max-width:none;
		transition: all 1.0s;
	}

	&.swiper-slide-active {
	}

	&.swiper-slide-active img {
		top: 0;
		left: 0;
		width: 100%;
	}

	img {
		@include soft-shadow;
	}

	&-container {
		width: 100%;
		position: relative;
	}

	&-navigation {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 84px;
		height: 84px;
		background: white url(../images/icon_arrow_slider.svg) center center no-repeat;
		white-space: nowrap;
		text-indent: 100%;
		overflow: hidden;
		cursor: pointer;
		z-index: 10;

		&.next {
			right: 0;
			transform: translateY(-50%) rotate(180deg);
		}
	}
}
*/
.factory {
  position: relative;
  padding-bottom: 0;
}
.factory .layer {
  width: 1000px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.factory .container {
  display: grid;
  grid-template-rows: auto 1fr auto;
  width: 1000px;
  height: 100%;
  padding-top: 75px;
  position: absolute;
  left: calc(50% - 500px);
  top: 0;
}
.factory h3::after {
  margin-right: auto;
  margin-left: auto;
}
.factory p {
  text-align: left;
}
.factory dl {
  color: white;
  font-weight: 600;
}
.factory dt {
  background-color: #e1222a;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 10px 10px 0 0;
  padding: 5px 25px 2px 25px;
}
.factory dt span {
  display: block;
  font-size: 20px;
  border-bottom: 1px solid white;
  padding-left: 27px;
  background: url(../images/icon_pin.svg) left center/15px auto no-repeat;
}
.factory dd {
  background-color: #e1222a;
  text-align: left;
  padding: 15px 25px;
  font-weight: 400;
}
.factory dd span {
  display: inline-block;
  width: 365px;
}

/*
====================================================================
 04
====================================================================
*/
.section04 {
  background-color: #fdf2f3;
  border-radius: 94px 0 0 94px;
}
.section04 .subsection {
  background-color: white;
  width: 1000px;
  margin: 0 auto;
  padding: 40px 0;
}
.section04 .subsection:first-of-type {
  margin-top: 40px;
}
.section04 .subsection .container {
  padding: 0 30px;
}
.section04 .subsection h3 {
  text-align: center;
}
.section04 .subsection h3::after {
  margin-left: auto;
  margin-right: auto;
}
.section04 .subsection h4 {
  font-size: 20px;
  margin-top: 30px;
}
.section04 .subsection figure {
  margin-top: 24px;
  text-align: center;
}
.section04 .subsection p {
  font-weight: 400;
}

.support-system {
  border: 2px solid #e1222a;
  border-radius: 4px;
  display: grid;
  margin-top: 18px;
}
.support-system.has-3 {
  grid-template-rows: repeat(3, 1fr);
}
.support-system.has-2 {
  grid-template-rows: repeat(2, 1fr);
}
.support-system__item {
  padding: 8px;
  display: grid;
  grid-template-columns: 106px 1fr;
}
.has-3 .support-system__item {
  -moz-column-gap: 30px;
       column-gap: 30px;
}
.has-2 .support-system__item {
  -moz-column-gap: 20px;
       column-gap: 20px;
}
.support-system__item:not(:last-child) {
  border-bottom: 2px solid #e1222a;
}
.support-system__item dt {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #e1222a;
  color: white;
  font-size: 20px;
  font-weight: 600;
  text-align: center;
  line-height: 1.5;
}
.has-3 .support-system__item dd {
  font-weight: 400;
  padding: 9px 0;
}
.support-system__item dd span {
  display: inline-block;
  margin-right: 2em;
}
.support-system__item dd .inner-wrapper {
  display: grid;
  grid-template-columns: 1fr 95px;
  align-items: center;
}
.support-system__item dd p {
  font-feature-settings: "palt";
}

/*
====================================================================
 05
====================================================================
*/
.section05 {
  position: relative;
  padding: 0;
  background-color: #fdf2f3;
}
.section05 .section05In {
  padding: 50px 0 0;
  background-color: white;
  border-radius: 0 94px 0 0;
}
.section05::after {
  border-radius: 0 94px 94px 0;
  content: "";
  display: block;
  position: absolute;
  width: 94px;
  height: 100%;
  background-color: #fdf2f3;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.section05 table td {
  font-weight: 400;
}
.section05 table th {
  font-weight: 600;
}

table {
  border: 1px solid #c7c7c7;
}

th {
  background-color: #ededed;
  width: 204px;
  border-bottom: 1px solid white;
  padding: 16px 26px;
  text-align: left;
}

td {
  border-bottom: 1px solid #c7c7c7;
  padding: 16px 26px;
}

tr:last-child th, tr:last-child td {
  border-bottom: none;
}

/*
====================================================================
 06
====================================================================
*/
.section06 {
  padding-top: 150px;
  background-color: #fdf2f3;
  border-radius: 0 94px 0 94px;
  position: relative;
}
.section06::before {
  content: "";
  display: block;
  position: absolute;
  width: 94px;
  height: 94px;
  background: url(../images/path_corner.svg) left top/contain no-repeat;
  right: 0;
  top: 94px;
}
.section06::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 94px;
  background-image: url(../images/interview_top_02.png);
  background-position: left top;
  background-repeat: no-repeat;
}

.faq-container {
  font-weight: 400;
}
.faq-container dt {
  border-bottom: 1px solid #c7c7c7;
  background-color: white;
  padding: 24px 20px;
  display: grid;
  grid-template-columns: 58px 1fr;
  -moz-column-gap: 25px;
       column-gap: 25px;
  align-items: center;
  cursor: pointer;
  position: relative;
}
.faq-container dt::before {
  content: "";
  display: block;
  position: unset;
  width: 100%;
  height: 58px;
  background: url(../images/icon_faq_q.svg) center center/contain no-repeat;
}
.faq-container dt::after {
  content: "+";
  display: block;
  position: absolute;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  font-size: 24px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  right: 36px;
  top: 50%;
  transform: translateY(-50%);
}
.faq-container dt.is-active::after {
  content: "−";
}
.faq-container dd {
  background-color: #ededed;
  padding: 0 20px;
  display: grid;
  grid-template-columns: 58px 1fr;
  -moz-column-gap: 25px;
       column-gap: 25px;
  align-items: center;
  overflow: hidden;
  height: 0;
}
.faq-container dd::before {
  content: "";
  display: block;
  position: unset;
  width: 100%;
  height: 98px;
  background: url(../images/icon_faq_a.svg) center center/contain no-repeat;
}
.faq-container dd.is-opened {
  border-bottom: 1px solid #c7c7c7;
}

/*
====================================================================
 07
====================================================================
*/
.section07 {
  border-radius: 0 94px;
  position: relative;
  background-color: white;
  z-index: 1;
}

.step {
  width: 250px;
  height: 410px;
  position: relative;
  padding: 0;
  background-image: url(../images/flow_back.svg);
  background-size: 103% auto;
  background-position: 0 0;
  background-repeat: no-repeat;
  /*
  &:nth-child(3) .heading,&:nth-child(4) .heading {
  	line-height: 2.8em;
  }
  */
}
.step-container {
  display: flex;
}
.step__content .heading {
  font-size: 24px;
  font-weight: 900;
  color: #e1222a;
  line-height: 1.4em;
  margin-bottom: 20px;
  padding-top: 65px;
  text-align: center;
  /*
  .title {
  	padding-top: 20px;
  }
  */
}
.step__content .heading::after {
  content: none;
}
.step__content .heading .image {
  display: block;
  line-height: 1;
  margin-bottom: 10px;
  padding-right: 50px;
  padding-bottom: 40px;
}
.step__content .heading .image img {
  width: 100px;
  height: auto;
}
.step__content p {
  font-weight: 400;
  font-size: 15.5px;
  padding: 0 25px 0 35px;
  letter-spacing: 0;
}

/*
====================================================================
 08
====================================================================
*/
.section08 {
  background: url(../images/bg_common.png);
  color: white;
  padding: 169px 0;
  margin: -94px 0;
  position: relative;
  background-size: 100% 100%;
}
.section08::before {
  content: "";
  display: block;
  position: absolute;
  width: 94px;
  height: 94px;
  background: url(../images/path_corner.svg) left top/contain no-repeat;
  right: 0;
  top: 94px;
}
.section08::after {
  content: "";
  display: block;
  position: absolute;
  width: 94px;
  height: 94px;
  background: url(../images/path_corner.svg) left top/contain no-repeat;
  transform: scale(1, -1);
  right: 0;
  bottom: 94px;
}
.section08 h2 span {
  color: white;
}
.section08 p {
  padding-bottom: 20px;
  font-weight: 600;
  white-space: nowrap;
  line-height: 1.6em;
  font-size: 24px;
  font-feature-settings: "palt";
}
.section08 p span {
  display: block;
  text-align: right;
}

/*
====================================================================
 09
====================================================================
*/
.section09 {
  padding: 75px 0;
  border-radius: 94px 0 0 94px;
  position: relative;
  background-color: white;
  z-index: 1;
}
.section09 table td {
  font-weight: 400;
}
.section09 table th {
  font-weight: 600;
}
.section09 table caption {
  font-weight: 400;
  text-align: right;
  caption-side: bottom;
  margin-top: 5px;
}

/*
====================================================================
 11
====================================================================
*/
.section11 {
  background: url(../images/bg_common.png);
  background-position: left 0 bottom 300px;
  background-repeat: no-repeat;
  background-size: 100% auto;
  color: white;
  padding: 169px 0 0px;
  margin: 5px 0 0;
  position: relative;
}
.section11::before {
  content: "";
  display: block;
  position: absolute;
  width: 94px;
  height: 94px;
  transform: rotate(-90deg);
  background: url(../images/path_corner.svg) left top/contain no-repeat;
  left: 0;
  top: 92px;
}
.section11::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 94px;
  background-image: url(../images/interview_top.png);
  background-position: right top;
  background-repeat: no-repeat;
  top: -1px;
  right: 0;
}
.section11 h2 span {
  color: white;
}
.section11 .interview {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 1000px;
}
.section11 .interview li {
  width: 315px;
}
.section11 .interview li a:hover {
  position: relative;
  opacity: 0.8;
}

/*
====================================================================
 ENTRY FORM
====================================================================
*/
.section-entry {
  padding-top: 0;
  /*background-color: $light;*/
}
.section-entry h2 {
  padding-top: 60px;
  padding-bottom: 30px;
  color: white;
  line-height: 1.6em;
  background-image: url(../images/bg_common.png);
  background-position: 0 0;
  background-size: 100% auto;
}
.section-entry h2 span {
  color: white;
  line-height: 1em;
}

.section10 {
  padding: 75px 0;
  border-top-right-radius: 94px;
  position: relative;
}
.section10::after {
  content: "";
  display: block;
  position: absolute;
  width: 94px;
  height: 94px;
  background-color: #fdf2f3;
  left: 0;
  top: -94px;
  z-index: -1;
}

.form {
  background-color: white;
  margin-top: 30px;
  border-color: black;
}
.form-container {
  background-color: white;
  padding: 30px 30px 40px 30px;
}
.form-container p {
  font-size: 24px;
  text-align: center;
}
.form-container p span {
  font-weight: 400;
  font-size: 14px;
  display: block;
}
.form-container .thanks-message {
  margin-top: 90px;
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 50px;
}
.form-container .thanks-message + p {
  font-size: 20px;
}
.form th {
  background-color: #e1222a;
  color: white;
  font-weight: 600;
  vertical-align: middle;
}
.form td {
  border-color: black;
  padding: 14px 20px;
  position: relative;
}
.form tr:nth-child(3) td.entry {
  padding-top: 0;
  padding-bottom: 0;
}

input[type=text], input[type=mail] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  outline: none;
  width: 100%;
  background-color: #f8f8f8;
  border-radius: 4px;
  padding: 16px 24px;
  font-size: 16px;
}
input[type=radio] {
  accent-color: black;
  inline-size: 1.2em;
  block-size: 1.2em;
}

label {
  display: inline-flex;
  align-items: center;
}
label span {
  margin-right: 1em;
}
tr:nth-child(3) label {
  height: 78px;
  padding-right: 2em;
  cursor: pointer;
}

::-moz-placeholder {
  color: #d2d2d2;
}

::placeholder {
  color: #d2d2d2;
}

.form-item-wrapper {
  display: flex;
  align-items: center;
}

select {
  border: 1px solid black;
  border-radius: 4px;
  padding: 16px 85px 16px 20px;
  background: url(../images/icon_arrow_select.svg) right center/contain no-repeat;
  font-size: 16px;
  color: black;
  cursor: pointer;
}
select + span {
  margin: 0 30px 0 10px;
}

button[type=submit],
.btn-back {
  position: relative;
  display: block;
  margin: 0 auto;
  width: 493px;
  height: 102px;
  margin-top: 60px;
  background: linear-gradient(to top, #c30413 50%, #de0517 48%);
  border-radius: 8px;
  color: white;
  font-size: 28px;
  font-weight: 700;
  text-shadow: -2px -2px 0 rgba(0, 0, 0, 0.3);
  filter: drop-shadow(0 8px 8px rgba(0, 0, 0, 0.3));
  letter-spacing: 0.1em;
  transition: opacity 0.3s;
}
button[type=submit]::after,
.btn-back::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: url(../images/icon_arrow.svg) right 24px center/14px auto no-repeat;
}
button[type=submit] span,
.btn-back span {
  display: block;
  font-size: 14px;
  margin-bottom: 10px;
}
button[type=submit]:hover,
.btn-back:hover {
  opacity: 0.8;
}

.btn-back {
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn-back::after {
  transform: scale(-1, 1);
}

.errors-list {
  color: red;
  margin-top: 30px;
  text-align: center;
  margin-bottom: 1em;
}

.error {
  font-size: 10px;
  color: #f00;
  margin-top: 3px;
  margin-bottom: -12px;
  display: none;
}
.error:last-of-type {
  display: block;
}
tr:nth-child(3) .error {
  margin-top: -10px;
  margin-bottom: 2px;
}

.privacy {
  width: 750px;
  margin: 50px auto 0;
  border: 1px solid black;
}
.privacy dt {
  color: white;
  background-color: black;
  text-align: center;
  font-size: 14px;
  padding: 2px;
}
.privacy dd {
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 400;
  height: 73px;
  overflow-y: scroll;
}

/*
====================================================================
 FOOTER
====================================================================
*/
.btn-pagetop {
  position: fixed;
  z-index: 99;
  bottom: 60px;
  right: 6%;
  width: 80px;
  height: 80px;
  background: url(../images/btn_pagetop.svg) center center/contain no-repeat;
  white-space: nowrap;
  text-indent: 100%;
  overflow: hidden;
  filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, 0.3));
  cursor: pointer;
  opacity: 0;
}

footer {
  background-color: black;
  color: white;
}
footer .copyright {
  font-family: "MPlus";
  text-rendering: optimizeLegibility;
  vertical-align: baseline;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 90px;
}
footer .copyright a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  margin-right: 0.5em;
}

/*
====================================================================
 interview
====================================================================
*/
.under {
  margin-top: 90px;
  padding: 0 0 120px;
}
.under .title {
  padding: 110px 0 100px;
  color: white;
  text-align: center;
  background-image: url(../images/bg_common.png);
  background-position: left top;
  background-size: 100% auto;
}
.under .title h1 {
  padding: 0;
  margin-bottom: 0;
  line-height: 1em;
  text-align: center;
  font-size: 52px;
  font-weight: 600;
}
.under .title p {
  padding-top: 10PX;
  font-size: 24px;
}

.intContIn {
  margin: 110px auto 0;
  width: 1000px;
}
.intContIn img {
  float: left;
  width: 500px;
  padding: 0 30px 15px 0;
}
.intContIn h2 {
  margin-bottom: 20px;
  color: #e1222a;
  font-size: 28px;
  font-weight: 900;
  line-height: 1.4em;
  text-align: left;
  -webkit-text-stroke: 0.7px #e1222a;
}
.intContIn p {
  line-height: 1.7em;
  font-size: 16px;
  font-weight: 400;
}
.intContIn p .intContTextBr {
  display: block;
  content: "";
  margin: -5px 0 0;
}

.intContBgcolor {
  position: relative;
  margin-bottom: -110px;
  padding-top: 188px;
  background-color: #fdf2f3;
}
.intContBgcolor::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 94px;
  background-image: url(../images/interview_top.png);
  background-position: right top;
  background-repeat: no-repeat;
  top: -1px;
  right: 0;
}
.intContBgcolor::after {
  content: "";
  display: block;
  position: absolute;
  width: 94px;
  height: 94px;
  transform: rotate(-90deg);
  background: url(../images/path_corner.svg) left top/contain no-repeat;
  left: 0;
  top: 92px;
}
.intContBgcolor .intContIn {
  margin-top: 0;
}
.intContBgcolor .intContBgcolor02 {
  position: relative;
  padding-bottom: 188px;
}
.intContBgcolor .intContBgcolor02::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 94px;
  background-image: url(../images/interview_bottom.png);
  background-position: right bottom;
  background-repeat: no-repeat;
  bottom: 0;
  right: 0;
}
.intContBgcolor .intContBgcolor02::after {
  content: "";
  display: block;
  position: absolute;
  width: 94px;
  height: 94px;
  transform: rotate(-90deg);
  background: url(../images/path_corner.svg) left top/contain no-repeat;
  left: 0;
  bottom: 92px;
  transform: rotate(180deg);
}/*# sourceMappingURL=style.css.map */