@import url('https://fonts.googleapis.com/css2?family=Dela+Gothic+One&family=Rubik:ital,wght@0,300..900;1,300..900&display=swap');
.elementor-section.elementor-section-boxed > .elementor-column-gap-no,
.container {
	max-width: 1024px;
}
.elementor-section.elementor-section-boxed > .elementor-column-gap-default {
	max-width: calc(1024px + 20px);
}
@media (min-width: 768px) {
	.elementor-section-boxed.elementor-top-section > .elementor-column-gap-wide {
		max-width: calc(1024px + 40px);
	}
	.elementor-section-boxed.elementor-top-section .elementor-section.elementor-inner-section .elementor-column-gap-wide {
		max-width: calc(1024px + 40px);
	}
	.elementor-section-boxed.elementor-top-section > .elementor-column-gap-wider {
		max-width: calc(1024px + 60px);
	}
	.elementor-section-boxed.elementor-top-section .elementor-section.elementor-inner-section .elementor-column-gap-wider {
		max-width: calc(1024px + 60px);
		margin-left: -30px;
		margin-right: -30px;
	}
}
.wpforms-form .wrap_address .wrap_address_keynumber.wrap_address1 label {
	font-size: 0;
}
.wpforms-form .wrap_address .wrap_address_keynumber.wrap_address1 label:before {
	content: 'Postal Code';
	font-size: 1.4rem;
}
.wpforms-form .wrap_address .wrap_address_keynumber.wrap_address1 input {
	width: 96px;
}
.wpforms-form .wrap_address .wrap_address_keynumber.wrap_address1 {
	width: 190px;
}
.wpforms-form .wrap_address .last.wpforms-one-third + .wpforms-field-row label,
.wpforms-form .wrap_address .last.wpforms-one-third label,
.wpforms-form .wrap_address .first.wpforms-one-third + .wpforms-one-third label,
.wpforms-form .wrap_address .first.wpforms-one-third label {
	font-size: 0;
}
.wrap_address .first.wpforms-one-third label:before {
	content: 'Prefecture';
	font-size: 1.4rem;
}
.wpforms-form .wrap_address .first.wpforms-one-third + .wpforms-one-third label:before {
	content: 'City/Ward';
	font-size: 1.4rem;
}
.wpforms-form .wrap_address .last.wpforms-one-third label:before {
	content: 'Town/Village';
	font-size: 1.4rem;
}
.wpforms-form .wrap_address .last.wpforms-one-third + .wpforms-field-row label:before {
	content: 'Street Address and Below';
	font-size: 1.4rem;
}
.wpforms-form .wpforms-field-email .wpforms-field-sublabel {
	font-size: 0;
}
.wpforms-form .wpforms-field-email .wpforms-field-sublabel:before {
	content: 'Please re-enter your email address for confirmation. ※Copy-pasting is disabled for security purposes.';
	font-size: 1.4rem;
}
.wpforms-form .wpforms-page-next:after, .wpforms-form .wpforms-submit-container:after {
	right: 17px;
}
body {
  font-family: "Rubik", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  text-transform: uppercase;
}
.font_delagothic {
  font-family: "Dela Gothic One", sans-serif;
  font-weight: 400;
  font-style: normal;
}
body.page h2 {
	font-size: 4rem;
}
body.page h3 {
	font-size: 2.8rem;
}
#nav {
	font-family: "Dela Gothic One", sans-serif;
	margin-left: 3rem!important;
	flex: inherit;
	margin-right: 0;
}
header.site-header .hlogo {
	position: absolute;
	top: 0;
	left: 0;
}
header.site-header .hlogo .logo {
	padding: 1.4rem 2.8rem;
	background: #fff;
}
header.site-header.fixed .wpml-wrap {
	float: none;
	margin-top: 0;
	margin-left: auto;
}
@media (min-width: 768px) {
	header.site-header.fixed.fullwidth .container {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
}
#nav .menu > li {
	margin-left: 2.5rem;
}
#nav .menu > li > a {
	color: #fff;
	background: transparent;
	border: 0;
	padding: 0;
}
#nav .menu > li:not(.nav_en_app) a:after {
	content: '';
	border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 12px solid #fff;
  display: inline-block;
  margin-left: 5px;
}
#nav .menu > li.nav_en_app a {
  padding: 0 2.5rem;
  background: #DA1770;
  border-radius: 28px;
}
.topen_about {
	background: url(../../img/en/img_about_bg_deco.png) bottom center no-repeat, url(../../img/en/img_pat01.png) 0 0 repeat;
}
.heading_icon h2.elementor-heading-title {
	background: #fff;
	display: flex;
	border: 2px solid #000;
	line-height: 11.4rem;
	padding: 0 7.5rem;
	white-space: nowrap;
	gap: 1.5rem;
	width: fit-content;
	margin: 0 auto;
	align-items: center;
	border-radius: 6rem;
}
.heading_icon h2:before,
.heading_icon h2:after {
	content: '';
	height: 10px;
	width: 66px;
	background: url(../../img/en/img_ttl_icon.svg);
}
.topen_banner img {
	width: 100%;
}
.about_lucky {
	z-index: 2;
}
.topen_about .heading_icon {
	z-index: 1;
	margin-top: -2rem;
	margin-bottom: -6rem;
}
.topen_about .elementor-inner-section {
	border: 2px solid #1B1D20;
	background: #FFD5E8;
	padding: 2rem 3rem;
}
.topen_about .elementor-inner-section:before {
	content: '';
	height: 176px;
	width: 150px;
	background: url(../../img/en/img_about_icon01.png) top center no-repeat;
	position: absolute;
	left: 2rem;
	top: -9rem;
	z-index: 1;
	background-size: 100% auto;
}
.topen_about .elementor-inner-section:after {
	content: '';
	height: 165px;
	width: 150px;
	background: url(../../img/en/img_about_icon02.png) top center no-repeat;
	position: absolute;
	right: 2rem;
	top: -10.5rem;
	z-index: 1;
	background-size: 100% auto;
}
.topen_about .elementor-inner-section > .elementor-container {
	background: #fff;
	padding: 7rem 4rem 3rem;
	border: 2px dotted #DA1770;
}
.topen_about h3.elementor-heading-title {
	font-size: 3.6rem;
	white-space: nowrap;
	gap: 1.5rem;
	width: fit-content;
	margin: 0 auto;
	align-items: center;
	display: flex;
}
.topen_about h3:before,
.topen_about h3:after {
	content: '';
	background: currentColor;
	height: 4px;
	width: 40px;
	display: block;
}
.topen_about .elementor-inner-section h2 {
	font-size: 5rem;
	line-height: 1.2;
	margin-top: 1rem;
	padding-left: 7rem;
	padding-right: 7rem;
	background: url(../../img/en/about_ttl_icon01.svg) left center no-repeat, url(../../img/en/about_ttl_icon02.svg) right center no-repeat;
}
.topen_about .ift-image_slider {
	max-width: 80rem;
	margin: 3.2rem auto 0;
}
.topen_about .ift-image_slider .item {
	padding: 0.8rem;
}
.topen_about .ift-image_slider .item img {
	border: 3px solid #1B1D20;
}
.topen_about .slick-list {
	overflow: visible;
}
.about_certified {
	margin-top: -18rem;
	z-index: 1;
}
.about_certified img {
	width: 51.4rem;
}
.topen_benefit {
	padding: 6rem 0 20rem;
	background: url(../../img/en/img_benefits_bg_deco01.png) top right no-repeat, 
	url(../../img/en/img_benefits_bg_deco02.png) bottom left no-repeat,
	url(../../img/en/img_pat02.png) 0 0 repeat;
}
.topen_benefit .elementor-widget-infact_three_column_fullwidth {
	margin-top: 9rem;
	z-index: 1;
}
.elementor-widget-container {
	background-clip: padding-box;
}
.topen_benefit .title :is(h1, h2, h3, h4) {
	line-height: 1.05;
}
.topen_benefit .title {
	font-family: "Dela Gothic One", sans-serif;
	text-align: center;
}
.topen_benefit .title-wrap {
	padding: 2rem 2rem 1rem;
}
.topen_benefit .be_icon {
	width: auto;
	position: absolute;
	top: 2.5rem;
	right: 6rem;
}
.topen_benefit .be_number {
	position: absolute;
	top: 7.5rem;
	left: 0;
	z-index: 2;
}

.top_border img {
	display: block;
	width: 100%;
}
.topen_flow {
	background: 
	url(../../img/en/img_flow_ilust01.png) top 12% right no-repeat,
	url(../../img/en/img_flow_ilust02.png) top 42% left no-repeat,
	url(../../img/en/img_flow_ilust03.png) top 69% right no-repeat,
	url(../../img/en/img_flow_ilust04.png) top 95% left no-repeat,
	url(../../img/en/img_pat03.png) 0 0 repeat;
	background-size: 340px auto,
	340px auto,
	340px auto,
	340px auto,
	auto;
	z-index: 1;
}
.topen_flow:before {
	content: '';
	height: 14rem;
	width: 100%;
	position: absolute;
	bottom: 100%;
	left: 0;
	background: url(../../img/en/img_flow_top.png) top center no-repeat;
	background-size: 100% auto;
}
.topen_flow:after {
	content: '';
	height: 14rem;
	width: 100%;
	position: absolute;
	top: 100%;
	left: 0;
	background: url(../../img/en/img_flow_bottom.png) bottom center no-repeat;
	background-size: 100% auto;
}
.topen_flow .staff-workday-schedule .item {
	background: #fff;
	padding: 2.5rem 2.5rem 2.5rem 4rem;
	border: 24px solid rgba(0, 165, 174, .3);
	box-shadow: inset 0 0 0 2px #00A5AE;
	display: flex;
	flex-direction: row-reverse;
	position: relative;
	background-clip: padding-box;
}
.topen_flow .staff-workday-schedule .item:not(:last-child) {
	margin: 0 0 10rem;
}
.topen_flow .staff-workday-schedule .item:not(:last-child):before {
	content: '';
	width: 40px;
	height: 56px;
	background: url(../../img/en/img_flow_icon.svg) center no-repeat;
	position: absolute;
	bottom: -9.5rem;
	left: calc(50% - 20px);
	top: inherit;
	border-radius: 0;
}
@media (min-width: 768px) {
	.topen_flow .staff-workday-schedule .item .img {
		width: 24rem;
	}
	.topen_flow .staff-workday-schedule .item .txt {
		flex: 1;
		padding-right: 3rem;
	}
}

.topen_flow .staff-workday-schedule .item h3 {
	overflow: visible;
	font-family: "Dela Gothic One", sans-serif;
	margin-bottom: 0;
}
.topen_flow .staff-workday-schedule .item h3 .time {
	position: absolute;
	top: -5rem;
	left: -5rem;
	font-size: 4rem;
	background: #00A5AE;
	padding: 1.3rem 2rem;
	color: #fff;
}
.topen_flow .staff-workday-schedule .item h3 .tt {
	margin: 4rem 0 0;
	font-size: 2.8rem;
	line-height: 1.25;
}


.topen_schedule_access {
	padding: 20rem 0 11rem;
	background: url(../../img/en/img_pat04.png) 0 0 repeat;
}
.infact-table .box {
	max-width: 100%;
}
.topen_schedule_access table {
	border: 0;
	font-size: 1em;
}
.h_black .elementor-heading-title {
	background: #1B1D20;
	width: fit-content;
	margin: 0 auto;
	padding: 0.9rem 2.8rem;
}
.topen_schedule_access .heading_icon + .h_black {
	margin-top: 4rem;
	margin-bottom: -4rem;
	z-index: 1;
}
.topen_schedule_access table tr td {
	border: 0;
	height: 90px;
	vertical-align: middle;
	padding: 1rem 2.5rem;
	text-align: center;
}
.topen_schedule_access table tr:nth-child(odd) {
	background: rgba(237, 108, 15, .1);
}
.topen_schedule_access table tr:first-child {
	color: #fff;
}
.topen_schedule_access .elementor-button {
	font-size: 1em;
}
.topen_schedule_access .elementor-inner-section .font_delagothic span {
	display: block;
	font-size: 1.5rem;
}
.h_black_line .elementor-widget-container {
	margin: 6rem 0 2rem;
	display: flex;
	align-items: center;
	gap: 1.5rem;
}
.h_black_line .elementor-widget-container:before,
.h_black_line .elementor-widget-container:after {
	content: '';
	height: 4px;
	background: currentColor;
	flex: 1;
	display: block;
}


.topen_application {
	background: 
	url(../../img/en/img_cta_deco02.png) bottom left no-repeat,
	url(../../img/en/img_cta_deco01.png) bottom right no-repeat,
	url(../../img/en/img_about_bg_deco.png) bottom center no-repeat, 
	url(../../img/en/img_pat01.png) 0 0 repeat;
	padding-bottom: 11rem;
	background-size: 49rem auto, 49rem auto, auto, auto;
}
.topen_application .elementor-inner-section {
	border: 2px solid #1B1D20;
	background: #FFC69D;
	padding: 2rem 3rem;
	margin-top: -8rem;
}
.topen_application .elementor-inner-section > .elementor-container {
	background: #fff;
	padding: 7rem 4rem 0;
	border: 2px dotted #ED6C0F;
}
.topen_application .elementor-widget-text-editor h3 {
	font-size: 3.6rem;
	line-height: 1.2;
	padding-left: 10rem;
	padding-right: 10rem;
	background: 
	url(../../img/en/about_ttl_icon01.svg) left center no-repeat, 
	url(../../img/en/about_ttl_icon02.svg) right center no-repeat;
}
.application_lucky {
	z-index: 2;
}
.application_btn p {
	margin: 0;
}
.application_btn a {
	display: inline-block;
	background: #1B1D20;
	color: #fff;
	font-family: "Dela Gothic One", sans-serif;
	font-size: 3.8rem;
	padding: 0 15rem;
	line-height: 115px;
	border-radius: 60px;
	position: relative;
	box-shadow: 0 6px 0 0 #DA1770;
}
.application_btn a:before {
	content: '';
	width: 133px;
	height: 148px;
	position: absolute;
	bottom: 0;
	left: 3.5rem;
	background: url(../../img/en/btn_icon_01.svg) center no-repeat;
	background-size: 100% auto;
}
.application_btn a:after {
	content: '';
	width: 78px;
	height: 111px;
	position: absolute;
	bottom: 0;
	right: 4.5rem;
	background: url(../../img/en/btn_icon_02.svg) center no-repeat;
	background-size: 100% auto;
}
.application_btn {
	margin-top: 2rem;
	margin-bottom: -6rem;
}
footer.site-footer #copyright {
	text-align: center;
	font-size: 1.3rem;
	font-family: inherit;
	text-transform: initial;
}
.copyright-content {
	max-width: 52.6rem;
	margin: 0 auto 2rem;
}
footer.site-footer #copyright .container {
	padding: 8rem 2rem;
	background: transparent;
	display: block;
}
#btn-top {
	display: none!important;
}
@media (max-width: 767px) {
	.elementor .container {
		padding-left: 0;
		padding-right: 0;
	}
	body {
		font-size: 1.4rem!important;
	}
	body.page h2 {
    font-size: 2.4rem;
	}
	header.site-header.fixed .container {
		padding: 1.5rem;
	}
	header.site-header .sp-right a.sp-menu img {
		display: none!important;
	}
	header.site-header .sp-right a.sp-menu {
		width: 30px!important;
		height: 30px!important;
		background-image: url(../../img/en/svg_menu_open.svg);
		background-position: center;
		background-repeat: no-repeat;
	}
	header.site-header .hlogo .logo {
		padding: 1rem 2rem;
	}
	header.site-header .logo.logo-svg img {
		max-height: 56px;
	}
	.mm-wrapper_opened header.site-header .sp-right a.sp-menu {
		background-image: url(../../img/en/svg_menu_close.svg);
	}
	.about_lucky img {
		width: 90px;
	}
	.heading_icon h2.elementor-heading-title {
		font-size: 2rem;
		line-height: 1;
		white-space: normal;
		padding: 2.25rem 2.5rem;
		border-radius: 45px;
	}
	.heading_icon h2:before, .heading_icon h2:after {
		width: 42px;
		height: 7px;
		background-size: 100% auto;
	}
	.topen_about {
		padding: 0 2rem;
	}
	.topen_about .elementor-inner-section:before {
    width: 74px;
    height: 82px;
    left: 3rem;
  }
  .topen_about .elementor-inner-section:after {
  	width: 77px;
    height: 82px;
		top: -9.5rem;
		right: 3rem;
  }
  .topen_about .heading_icon {
  	margin-top: -1.5rem;
    margin-bottom: -3.7rem;
  }
  .topen_about .elementor-inner-section {
  	padding: 1rem 2rem;
  }
  .topen_about .elementor-inner-section > .elementor-container {
  	padding: 4rem 1rem 1rem;
  }
  .topen_about h3.elementor-heading-title {
  	font-size: 1.3rem;
  	gap: 1rem;
  }
  .topen_about h3:before, .topen_about h3:after {
  	width: 15px;
  	height: 2px;
  }
  .topen_about .elementor-inner-section h2 {
  	font-size: 1.8rem;
  	padding-left: 2rem;
  	padding-right: 2rem;
  	background-size: 20px auto, 20px auto;
  }
  .about_certified {
  	margin-top: -3rem;
  }
  .topen_about .ift-image_slider {
  	max-width: 30rem;
  }
  .topen_benefit {
    padding: 5rem 0 18rem;
    background: url(../../img/en/img_benefits_bg_deco01_sp.png) top right no-repeat, 
    url(../../img/en/img_benefits_bg_deco02_sp.png) bottom 4.5rem left no-repeat, 
    url(../../img/en/img_pat02.png) 0 0 repeat;
    background-size: 257px auto, 361px auto, auto;
	}
	.topen_benefit .be_icon {
		top: 2rem;
		right: 4rem;
		width: 98px;
	}
	.topen_benefit .elementor-widget-infact_three_column_fullwidth {
		margin-top: 6rem;
	}
	.topen_benefit .be_number {
		top: 5rem;
	}
	.topen_benefit .be_number img {
		max-width: 77px;
	}
	.topen_flow {
    background: url(../../img/en/img_flow_ilust01.png) top 22.3% right no-repeat, 
    url(../../img/en/img_flow_ilust02.png) top 43.3% left no-repeat, 
    url(../../img/en/img_flow_ilust03.png) top 64% right no-repeat, 
    url(../../img/en/img_flow_ilust04.png) top 87% left no-repeat, 
    url(../../img/en/img_pat03.png) 0 0 repeat;
    background-size: 190px auto, 180px auto, 180px auto, 200px auto, auto;
    z-index: 1;
	}
	.topen_flow:before {
		height: 10rem;
		background: url(../../img/en/img_flow_top_sp.png) top center no-repeat;
		background-size: 100%
	}
	.topen_flow:after {
		height: 10rem;
		background: url(../../img/en/img_flow_bottom_sp.png) bottom center no-repeat;
		background-size: 100%
	}
	.topen_flow .staff-workday-schedule {
		padding-top: 5rem;
	}
	.topen_flow .staff-workday-schedule .item h3 .time {
		font-size: 3rem;
		left: -2rem;
		top: -4rem;
	}
	.topen_flow .staff-workday-schedule .container {
		padding-left: 1rem;
		padding-right: 1rem;
	}
	.topen_flow .staff-workday-schedule .item {
		border-width: 10px;
		flex-flow: row wrap;
		padding: 3rem 2rem 2rem;
	}
	.topen_flow .staff-workday-schedule .item:not(:last-child) {
		margin-bottom: 12rem;
	}
	.topen_flow .staff-workday-schedule .item h3 .tt {
		font-size: 2.2rem;
		margin-top: 1rem;
	}
	.topen_schedule_access {
    padding: 14rem 0 6rem;
  }
  .topen_schedule_access table {
  	font-size: 16px;
  }
  .topen_schedule_access .heading_icon + .h_black {
  	margin-bottom: -2rem;
  }
  .topen_schedule_access table tr:first-child td {
  	height: 60px;
  	white-space: nowrap;
  	font-size: 1.6rem;
  }
  .topen_schedule_access .elementor-widget-infact_table {
  	margin-right: -2rem;
  	width: auto;
  	overflow-x: scroll;
  }
  .topen_schedule_access .elementor-widget-infact_table .elementor-widget-container {
  	border-width: 10px!important;
  	width: fit-content;
  	min-width: 1000px;
  }
  .topen_schedule_access .elementor-inner-section .elementor-column + .elementor-column {
  	margin-top: 1rem;
  }
  .application_lucky img {
  	width: 103px;
  }
  .topen_application .elementor-inner-section {
    border: 2px solid #1B1D20;
    background: #FFC69D;
    padding: 1rem 2rem;
    margin-top: -2.5rem;
	}
	.topen_application .elementor-inner-section > .elementor-container {
		padding: 2rem;
	}
	.topen_application .elementor-widget-text-editor h3 {
		padding: 0;
		font-size: 2.2rem;
		background: transparent;
	}
	.topen_application .elementor-widget.application_btn {
		position: absolute;
    bottom: -11.5rem;
    left: -3rem;
    right: -3rem;
    width: calc(100% + 6rem);
    margin: 0;
	}
	.application_btn a {
		font-size: 2.2rem;
		padding: 0 3rem;
		line-height: 65px;
		border-radius: 35px;
		width: 100%;
	}
	.application_btn a:before {
		width: 78px;
		height: 86px;
		background-size: 100% auto;
		left: 2rem;
		bottom: 100%;
	}
	.application_btn a:after {
		width: 47px;
		height: 65px;
		background-size: 100% auto;
		right: 2rem;
		bottom: 100%;
	}
	.topen_application {
		padding-left: 2rem;
  	padding-right: 2rem;
    background: url(../../img/en/img_cta_deco02.png) bottom left no-repeat, 
    url(../../img/en/img_cta_deco01.png) bottom right no-repeat, 
    url(../../img/en/img_contact_bg_deco_sp.png) top 2.5rem center no-repeat, 
    url(../../img/en/img_pat01.png) 0 0 repeat;
    padding-bottom: 16rem;
    background-size: 17rem auto, 17rem auto, 100% auto, auto;
	}
	footer.site-footer #copyright {
		font-size: 1.2rem;
	}
	footer.site-footer #copyright .container {
		padding-top: 5rem;
		padding-bottom: 11rem;
	}
	footer.site-footer #copyright .container > p {
		opacity: 1;
	}
	.appication_fixed p {
		margin: 0;
	}
	.appication_fixed {
		position: fixed;
		z-index: 22;
		bottom: 0;
		left: 0;
		width: 100%;
	}
	.appication_fixed a {
		display: block;
		font-family: "Dela Gothic One", sans-serif;
		font-size: 1.8rem;
		line-height: 50px;
		border-radius: 30px;
		color: #fff;
		background: #DA1770;
		text-decoration: none;
	}
}
.mm-wrapper_opened #nav-sp {
	background: #1b1d20;
}
#nav-sp ul.menu > li > a {
	color: #fff;
	padding: 0;
	font-family: "Dela Gothic One", sans-serif;
}
#nav-sp ul.menu > li {
	border: 0;
	padding: 1.5rem 3rem;
}
#nav-sp ul.menu > li:not(.nav_en_app) a:after {
	content: '';
	border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 12px solid #fff;
  display: inline-block;
  margin-left: 5px;
}
#nav-sp ul.menu > li.nav_en_app a {
  padding: 0 2.5rem;
  background: #DA1770;
  border-radius: 28px;
  line-height: 6rem;
}