@charset "UTF-8";
*, ::before, ::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-style: solid;
	border-width: 0
}
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}
body {
	margin: 0
}
main {
	display: block
}
p, table, blockquote, address, pre, iframe, form, figure, dl {
	margin: 0
}
h1, h2, h3, h4, h5, h6 {
	font-size: inherit;
	line-height: inherit;
	font-weight: inherit;
	margin: 0
}
ul, ol {
	margin: 0;
	padding: 0;
	list-style: none
}
dt {
	font-weight: bold
}
dd {
	margin-left: 0
}
hr {
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	height: 0;
	overflow: visible;
	border-top-width: 1px;
	margin: 0;
	clear: both;
	color: inherit
}
pre {
	font-family: monospace, monospace;
	font-size: inherit
}
address {
	font-style: inherit
}
a {
	background-color: rgba(0, 0, 0, 0);
	text-decoration: none;
	color: inherit
}
abbr[title] {
	text-decoration: underline;
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted
}
b, strong {
	font-weight: bolder
}
code, kbd, samp {
	font-family: monospace, monospace;
	font-size: inherit
}
small {
	font-size: 80%
}
sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline
}
sub {
	bottom: -0.25em
}
sup {
	top: -0.5em
}
img, embed, object, iframe {
	vertical-align: bottom
}
button, input, optgroup, select, textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	vertical-align: middle;
	color: inherit;
	font: inherit;
	background: rgba(0, 0, 0, 0);
	padding: 0;
	margin: 0;
	outline: 0;
	border-radius: 0;
	text-align: inherit
}
[type=checkbox] {
	-webkit-appearance: checkbox;
	-moz-appearance: checkbox;
	appearance: checkbox
}
[type=radio] {
	-webkit-appearance: radio;
	-moz-appearance: radio;
	appearance: radio
}
button, input {
	overflow: visible
}
button, select {
	text-transform: none
}
button, [type=button], [type=reset], [type=submit] {
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none
}
button[disabled], [type=button][disabled], [type=reset][disabled], [type=submit][disabled] {
	cursor: default
}
button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner {
	border-style: none;
	padding: 0
}
button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring {
	outline: 1px dotted ButtonText
}
select::-ms-expand {
	display: none
}
option {
	padding: 0
}
fieldset {
	margin: 0;
	padding: 0;
	min-width: 0
}
legend {
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal
}
progress {
	vertical-align: baseline
}
textarea {
	overflow: auto
}
[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
	height: auto
}
[type=search] {
	outline-offset: -2px
}
[type=search]::-webkit-search-decoration {
	-webkit-appearance: none
}
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit
}
label[for] {
	cursor: pointer
}
details {
	display: block
}
summary {
	display: list-item
}
[contenteditable] {
	outline: none
}
table {
	border-collapse: collapse;
	border-spacing: 0
}
caption {
	text-align: left
}
td, th {
	vertical-align: top;
	padding: 0
}
th {
	text-align: left;
	font-weight: bold
}
template {
	display: none
}
[hidden] {
	display: none
}
body {
	position: relative;
	background-size: cover;
	color: #231815;
	font-weight: 400;
	font-size: .875rem;
	font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	word-break: break-all
}
body * {
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}
a {
	text-decoration: none;
	word-break: break-all;
	word-break: break-all;
	outline: none
}
a:hover img {
	-moz-opacity: .6;
	opacity: .6
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom
}
.l-header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s
}
.l-header.is-active {
	background-color: rgba(0, 0, 0, .8)
}
.l-header.is-active .l-header-inner {
	padding: 8px 20px 6px 30px
}
.l-header.is-active .l-header-logo {
	width: 125px
}
.l-header.is-active .l-header-nav-inner {
	margin-top: 6px
}
.l-header.is-active .l-header-menu {
	top: 0;
	right: 0
}
.l-header.is-active .l-header-menu-button {
	background-color: #ed6c00
}
.l-header-inner {
	width: 100%;
	margin: 0 auto;
	padding: 40px 60px;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s
}
.l-header-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}
.l-header-heading * {
	-webkit-transition: all .4s;
	-o-transition: all .4s;
	transition: all .4s
}
.l-header-heading a {
	display: inline-block
}
.l-header-heading a:hover {
	opacity: .8
}
.l-header-logo {
	width: 125px
}
.l-header-menu {
	display: block;
	position: fixed;
	top: 34px;
	right: 40px;
	z-index: 20;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s
}
.l-header-menu-button {
	position: relative;
	width: 60px;
	height: 60px;
	cursor: pointer
}
.l-header-menu-button.is-active .l-header-menu-line:nth-of-type(1) {
	-webkit-transform: translate(-50%, -50%) rotate(-45deg);
	-ms-transform: translate(-50%, -50%) rotate(-45deg);
	transform: translate(-50%, -50%) rotate(-45deg)
}
.l-header-menu-button.is-active .l-header-menu-line:nth-of-type(2) {
	opacity: 0
}
.l-header-menu-button.is-active .l-header-menu-line:nth-of-type(3) {
	-webkit-transform: translate(-50%, -50%) rotate(45deg);
	-ms-transform: translate(-50%, -50%) rotate(45deg);
	transform: translate(-50%, -50%) rotate(45deg)
}
.l-header-menu-line {
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 25px;
	height: 1px;
	background-color: #fff;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s
}
.l-header-menu-line:nth-of-type(1) {
	-webkit-transform: translate(-50%, -8px);
	-ms-transform: translate(-50%, -8px);
	transform: translate(-50%, -8px)
}
.l-header-menu-line:nth-of-type(2) {
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}
.l-header-menu-line:nth-of-type(3) {
	-webkit-transform: translate(-50%, 8px);
	-ms-transform: translate(-50%, 8px);
	transform: translate(-50%, 8px)
}
.l-header-nav {
	position: fixed;
	visibility: hidden;
	top: 0;
	left: 0;
	z-index: 15;
	-webkit-transform: scale(1.15);
	-ms-transform: scale(1.15);
	transform: scale(1.15);
	width: 100%;
	height: 100vh;
	background-color: rgba(0, 0, 0, .85);
	opacity: 0;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s
}
.l-header-nav.is-active {
	visibility: visible;
	opacity: 1;
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1)
}
.l-header-nav-inner {
	margin-top: 0
}
.l-header-nav-list {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%
}
.l-header-nav-item {
	width: 350px;
	margin: 0 auto 40px
}
.l-header-nav-item:last-child {
	margin-bottom: 0
}
.l-header-nav-item a {
	display: inline-block;
	position: relative;
	color: #fff;
	font-weight: 700;
	font-size: 1.125rem;
	font-family: "Noto Serif JP", serif;
	line-height: 1;
	letter-spacing: .08em
}
.l-header-nav-item a span {
	display: block;
	margin-bottom: 5px;
	color: #ed6c00;
	font-size: 1rem;
	font-family: "Teko", sans-serif;
	letter-spacing: .04em
}

.l-header-nav-item .color-orange {
  display: block;
	margin-bottom: 5px;
	color: #ed6c00;
	font-size: 1rem;
	font-family: "Teko", sans-serif;
	letter-spacing: .04em;
  font-weight: 700;
}

.l-header-nav-item a::before {
	position: absolute;
	bottom: -12px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #fff;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s;
	content: ""
}
.l-header-nav-item a:hover::before {
	bottom: -6px;
	opacity: 1;
	visibility: visible
}
.l-header-nav-list-child {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-top: 20px
}

.l-header-nav-list-child.vertical_list {
  flex-direction: column;
  margin-top: 0;
}

.l-header-nav-list-child.vertical_list .l-header-nav-item-child a {
  display: inline-block;
  position: relative;
  color: #fff;
  font-weight: 700;
  font-size: 1.125rem;
  font-family: "Noto Serif JP", serif;
  line-height: 1;
  letter-spacing: .08em;
}

.l-header-nav-item-child {
	width: 50%;
	margin-bottom: 14px
}
.l-header-nav-item-child a {
	font-weight: 700;
	font-size: .875rem
}
.l-header-nav-item-child a::before {
	bottom: -8px
}
.l-header-nav-item-child a:hover::before {
	bottom: -6px
}
.l-header-contact {
	display: none
}
@media screen and (max-width: 1024px) {
	.l-header-inner {
		padding: 30px 25px 15px 30px
	}
	.l-header-menu {
		top: 24px
	}
}
@media screen and (max-width: 960px) {
	.l-header {
		height: 60px
	}
	.l-header.is-active .l-header-inner {
		padding: 8px 0 5px 20px
	}
	.l-header.is-active .l-header-nav-list {
		margin-right: 0
	}
	.l-header-inner {
		padding: 8px 0 5px 20px
	}
	.l-header-logo {
		width: 125px
	}
	.l-header-menu {
		top: 0;
		right: 0
	}
	.l-header-nav-list {
		display: block
	}
	.l-header-nav-item {
		margin: 0 auto 30px
	}
}
@media screen and (max-width: 767px) {
	.l-header-nav-item {
		width: 180px
	}
	.l-header-nav-item a {
		font-size: 1rem
	}
	.l-header-nav-item a span {
		font-size: .875rem
	}
  .l-header-nav-item .color-orange {
		font-size: .875rem
	}
	.l-header-nav-list-child {
		display: block
	}
	.l-header-nav-item-child {
		width: 100%;
		margin-bottom: 14px
	}
	.l-header-nav-item-child a {
		font-weight: 700;
		font-size: .75rem
	}
  .l-header-nav-list-child.vertical_list .l-header-nav-item-child a {
    font-size: 1rem;
  }   
  
	.l-header-nav-item-child a::before {
		bottom: -8px
	}
	.l-header-nav-item-child a:hover::before {
		bottom: -6px
	}
}
@media screen and (max-height: 765px) {
	.l-header-nav {
		overflow-y: scroll
	}
	.l-header-nav-list {
		top: 0;
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		transform: translateX(-50%);
		padding: 70px 0 100px
	}
}
.l-root {
	width: 100%;
	margin: 0 auto;
	overflow: hidden
}
.l-main {
	position: relative;
	width: 100%;
	height: 100%
}
.l-content-bg {
	background-image: url(../images/common/bg.jpg);
	background-position: top right;
	background-repeat: no-repeat;
	background-size: cover
}
.l-inner-lv1 {
	width: 100%;
	max-width: 1120px;
	margin: auto;
	padding: 0 20px
}
@media screen and (max-width: 960px) {
	.l-root {
		min-width: 100%;
		min-width: 100%
	}
	.l-inner-lv1 {
		width: 100%;
		-webkit-box-sizing: border-box;
		box-sizing: border-box
	}
}
.l-footer {
	position: relative;
	background-image: url(../images/common/footer_bg.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover
}
.l-footer::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #ed6c00;
	opacity: .5;
	content: ""
}
.l-footer-inner {
	position: relative;
	width: 100%;
	max-width: 1120px;
	margin: auto;
	padding: 0 20px
}
.l-footer-text {
	padding-top: 60px;
	padding-bottom: 40px;
	color: #fff;
	font-weight: 600;
	font-size: 1.25rem;
	font-family: "Noto Serif JP", serif;
	letter-spacing: .15em;
	text-align: center
}
.l-footer-contact {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding-bottom: 60px
}
.l-footer-tell, .l-footer-mail {
	width: 43.6%;
	max-width: 470px;
	border-bottom: 2px solid #fff;
	text-align: center
}
.l-footer-tell-link a {
	display: inline-block;
	position: relative;
	padding-left: 40px;
	color: #fff;
	font-size: 2.1875rem;
	font-family: "Teko", sans-serif;
	letter-spacing: .06em;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s
}
.l-footer-tell-link a::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 30px;
	padding-top: 32px;
	background-image: url(../images/common/ico_tel_wh.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: ""
}
.l-footer-tell-link a:hover {
	opacity: .6
}
.l-footer-tell-text {
	padding: 5px 0 15px;
	color: #fff;
	font-weight: 500;
	font-size: .75rem
}
.l-footer-mail-link {
	padding-top: 20px
}
.l-footer-mail-link a {
	display: inline-block;
	position: relative;
	padding-left: 30px;
	color: #fff;
	font-weight: 500;
	font-size: .9375rem;
	letter-spacing: .15em;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s
}
.l-footer-mail-link a::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	padding-top: 20px;
	background-image: url(../images/common/ico_mail_wh.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: ""
}
.l-footer-mail-link a:hover {
	opacity: .6
}
@media screen and (max-width: 767px) {
	.l-footer-text {
		padding-top: 45px;
		padding-bottom: 30px;
		font-size: .875rem
	}
	.l-footer-contact {
		display: block
	}
	.l-footer-tell, .l-footer-mail {
		width: 100%;
		margin: 0 auto
	}
	.l-footer-tell-link a {
		padding-left: 35px;
		font-size: 1.875rem
	}
	.l-footer-tell-link a::before {
		position: absolute;
		top: 0;
		left: 0;
		width: 28px;
		padding-top: 30px
	}
	.l-footer-tell-text {
		padding: 10px 0 20px;
		font-size: .6875rem;
		line-height: 1.6
	}
	.l-footer-mail {
		border-bottom: none
	}
	.l-footer-mail-link {
		padding-top: 30px
	}
	.l-footer-mail-link a {
		padding-left: 25px;
		font-size: .875rem
	}
	.l-footer-mail-link a::before {
		width: 16px;
		padding-top: 16px
	}
}
.c-contact-button {
	position: absolute;
	right: 0;
	bottom: 50px;
	width: 260px
}
.c-contact-button a {
	display: inline-block;
	position: relative;
	width: 100%;
	padding: 24px 0 25px 81px;
	border: 1px solid #ed6c00;
	background-color: #ed6c00;
	color: #fff;
	font-weight: 500;
	font-size: .9375rem;
	letter-spacing: .15em;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s;
  margin-bottom: 20px;
}

.c-contact-button a.no-icon {
  padding-left: 45px;
}

.c-contact-button a:nth-last-of-type(1) {
  margin-bottom: 0;
}


.c-contact-button a::before {
	position: absolute;
	top: 50%;
	left: 50px;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 20px;
	padding-top: 20px;
	background-image: url(../images/common/ico_mail_wh.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: ""
}
.c-contact-button a.no-icon::before {
  display: none;  
}
.c-contact-button a:hover {
	-webkit-filter: brightness(1.1);
	filter: brightness(1.1)
}
.c-link-button-lv1 button, .c-link-button-lv1 a {
	display: inline-block;
	width: 100%;
	padding: 20px 0;
	border: 1px solid #e8c19b;
	color: #ed6c00;
	font-weight: 500;
	font-size: .9375rem;
	letter-spacing: .2em;
	text-align: center;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s
}
.c-link-button-lv1 button:hover, .c-link-button-lv1 a:hover {
	border: 1px solid #ed6c00;
	background-color: #ed6c00;
	color: #fff
}
.c-link-button-more button, .c-link-button-more a {
	position: relative;
	display: inline-block;
	font-weight: 500;
	font-size: .875rem;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s
}
.c-link-button-more button::before, .c-link-button-more a::before {
	position: absolute;
	bottom: -8px;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #231815;
	content: ""
}
.c-link-button-more button:hover, .c-link-button-more a:hover {
	opacity: .6
}
.c-lower-head {
	position: relative;
	width: 100%;
	min-height: 460px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover
}
.c-lower-head::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	opacity: 0.15;
	content: ""
}
.c-lower-head.topics::before {
	opacity: 0.5;
}
.c-lower-head-wrap {
	position: relative;
	padding-top: 230px
}
.c-lower-heading-en {
	margin-bottom: 15px;
	padding-left: 4px;
	color: #ed6c00;
	font-weight: 700;
	font-size: .875rem;
	font-family: "Noto Serif JP", serif;
	letter-spacing: .2em
}
.c-lower-heading {
	color: #fff;
	font-weight: 600;
	font-size: 2.8125rem;
	font-family: "Noto Serif JP", serif;
	letter-spacing: .12em
}
.c-lower-heading-lead {
	margin-top: 15px;
	color: #fff;
	font-weight: 600;
	font-size: 1.125rem;
	line-height: 2;
	letter-spacing: .1em
}
.c-lower-head-contact {
	position: absolute;
	right: 0;
	bottom: 50px
}
.c-lower-head-contact a {
	border: 1px solid #ed6c00;
	background-color: #ed6c00
}
.c-lower-head-contact a:hover {
	-webkit-filter: brightness(1.1);
	filter: brightness(1.1)
}
.c-lower-child-heading-number {
	margin-bottom: 40px;
	color: #fff;
	font-weight: 600;
	font-size: 1.75rem;
	font-family: "Noto Serif JP", serif;
	letter-spacing: .12em
}
.c-lower-child-heading-en {
	color: #ed6c00;
	font-weight: 500;
	font-size: 1.25rem;
	font-family: "Teko", sans-serif;
	letter-spacing: .04em
}
.c-lower-catch {
	color: #f29600;
	font-weight: 700;
	font-size: 2.1875rem;
	font-family: "Noto Serif JP", serif;
	line-height: 1.8;
	letter-spacing: .15em
}
@media screen and (max-width: 960px) {
	.c-contact-button {
		display: none
	}
}
@media screen and (max-width: 767px) {
	.c-link-button-lv1 button, .c-link-button-lv1 a {
		padding: 16px 0;
		font-size: .75rem
	}
	.c-link-button-more button, .c-link-button-more a {
		font-size: .75rem
	}
	.c-link-button-more button::before, .c-link-button-more a::before {
		bottom: -4px;
		height: 1px
	}
	.c-lower-head {
		min-height: 230px
	}
	.c-lower-head-wrap {
		margin-left: -10px;
		padding-top: 120px;
		padding-bottom: 10px
	}
	.c-lower-heading-en {
		font-size: .75rem
	}
	.c-lower-heading {
		font-size: 1.75rem
	}
	.c-lower-heading-lead {
		font-size: .8125rem
	}
	.c-lower-child-heading-number {
		margin-bottom: 15px;
		font-size: 1.25rem
	}
	.c-lower-catch {
		font-size: 1.125rem
	}
}
#splash {
	position: fixed;
	z-index: 999;
	width: 100%;
	height: 100%;
	background: #333;
	text-align: center;
	color: #fff
}
#splash_text {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 999;
	width: 100%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	color: #fff
}
.p-home-key {
	position: relative;
	width: 100%;
	height: 100vh
}
.p-home-key-image {
	width: 100%;
	height: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover
}
.p-home-key-movie {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0
}
.p-home-key-movie video {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	font-family: "object-fit: cover;"
}
.p-home-key-sound {
	position: absolute;
	right: 20px;
	bottom: 20px;
	width: 35px;
	height: 35px
}
.p-home-key-sound-button {
	width: 100%;
	height: 100%;
	background-image: url(../images/common/ico_sound_close_wh.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	font-size: 0
}
.p-home-key-sound-button.sound-active {
	background-image: url(../images/common/ico_sound_wh.svg)
}
.p-home-section-heading-en {
	color: #ed6c00;
	font-weight: 500;
	font-family: "Teko", sans-serif;
	letter-spacing: .02em
}
.p-home-section-heading {
	color: #585e5c;
	font-weight: 600;
	font-family: "Noto Serif JP", serif
}
.p-home-section-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}
.p-home-section-head {
	padding: 0 5px
}
.p-home-section-head.-lr {
	-webkit-writing-mode: vertical-lr;
	-ms-writing-mode: tb-lr;
	writing-mode: vertical-lr
}
.p-home-section-head.-rl {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl
}
.p-home-section-head.-order-two {
	-webkit-box-ordinal-group: 3;
	-ms-flex-order: 2;
	order: 2
}
.p-home-section-heading-en {
	margin: 0 15px;
	font-size: 1.125rem;
	letter-spacing: .04em;
	text-orientation: sideways
}
.p-home-section-heading {
	font-size: 2.1875rem;
	letter-spacing: .15em
}
.p-home-section-content {
	width: 74.074074%;
	margin: 0 20px
}
.p-home-section-content.-order-one {
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 1;
	order: 1
}
.p-home-section-lead {
	margin-bottom: 40px;
	font-weight: 400;
	font-size: 1.125rem;
	line-height: 1.8;
	letter-spacing: .1em
}
.p-home-section-content-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}
.p-home-section-content-image, .p-home-section-content-link {
	position: relative;
	width: 47.5%;
	padding-top: 25%
}
.p-home-section-content-image {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover
}
.p-home-section-content-link {
	overflow: hidden
}
.p-home-section-content-link a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s
}
.p-home-section-content-link a:hover .p-home-section-content-thumbnail {
	scale: 1.05
}
.p-home-section-content-link a:hover .p-home-section-content-thumbnail::before {
	opacity: .6
}
.p-home-section-content-thumbnail {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s
}
.p-home-section-content-thumbnail::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	opacity: .3;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s;
	content: ""
}
.p-home-section-content-text {
	position: absolute;
	top: 50%;
	left: 10%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	color: #fff;
	font-weight: 700;
	font-size: 1.875rem;
	line-height: 1;
	font-family: "Noto Serif JP", serif
}
.p-home-intro {
	position: relative;
	padding-top: 80px
}
.p-home-intro-head {
	margin-bottom: 18px
}
.p-home-intro-heading-en {
	margin: 0;
	padding-left: 4px
}
.p-home-intro-heading {
	line-height: 1.2727;
	letter-spacing: .03em
}
.p-home-intro-text {
	font-weight: 400;
	font-size: 1rem;
	line-height: 2;
	letter-spacing: .04em
}
.p-home-intro-link {
	width: 270px;
	margin-top: 35px
}
.p-home-intro-contact {
	position: absolute;
	right: 0;
	bottom: 100px
}
.p-home-intro-contact a:hover {
	opacity: .6
}
.p-home-vison {
	padding-top: 100px
}
.p-home-vision-link {
	width: 270px;
	margin-top: 50px
}
.p-home-topics {
	padding-top: 120px
}
.p-home-topics-heading {
	line-height: 1.6
}
.p-home-topics-content {
	width: 35.185185%;
	margin: 0 0 0 24.1%
}
.p-home-topics-content .p-home-section-content-link {
	width: 100%;
	padding-top: 52.631579%
}
.p-home-topics-content-text {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
	top: unset;
	left: unset;
	-webkit-transform: unset;
	-ms-transform: unset;
	transform: unset;
	width: 100%;
	height: 100%
}
.p-home-topics-link {
	width: 270px;
	margin-top: 50px
}
.p-home-works {
	padding-top: 120px
}
.p-home-works-slider {
	position: relative;
	margin-bottom: 60px
}
.p-home-works-slider-wrap {
	width: calc((100vw - 1080px)/2 + 100%);
	overflow: hidden
}
.p-home-works-slider-wrap .swiper {
	overflow: visible
}
.p-home-works-slider-wrap .swiper-button-prev, .p-home-works-slider-wrap .swiper-button-next {
	cursor: pointer;
	position: relative;
	padding: 6px 10px 3px;
	border: 1px solid #ed6c00;
	background-color: #fff;
	color: #ed6c00;
	font-weight: 500;
	font-size: 1.25rem;
	font-family: "Teko", sans-serif;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s
}
.p-home-works-slider-wrap .swiper-button-prev::before, .p-home-works-slider-wrap .swiper-button-next::before {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 0;
	padding-top: 0;
	border-top: 9px solid rgba(0, 0, 0, 0);
	border-bottom: 9px solid rgba(0, 0, 0, 0);
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s;
	content: ""
}
.p-home-works-slider-wrap .swiper-button-prev:hover, .p-home-works-slider-wrap .swiper-button-next:hover {
	background-color: #ed6c00;
	color: #fff
}
.p-home-works-slider-wrap .swiper-button-prev {
	padding-left: 25px;
	margin-right: 15px
}
.p-home-works-slider-wrap .swiper-button-prev::before {
	left: 0;
	border-right: 9px solid #ed6c00;
	border-left: 9px solid rgba(0, 0, 0, 0)
}
.p-home-works-slider-wrap .swiper-button-prev:hover::before {
	border-right: 9px solid #fff
}
.p-home-works-slider-wrap .swiper-button-next {
	padding-right: 25px
}
.p-home-works-slider-wrap .swiper-button-next::before {
	right: 0;
	border-right: 9px solid rgba(0, 0, 0, 0);
	border-left: 9px solid #ed6c00
}
.p-home-works-slider-wrap .swiper-button-next:hover::before {
	border-left: 9px solid #fff
}
.p-home-works-slider-list .swiper-slide {
	width: 380px
}
.p-home-works-slider-item {
	width: 100%
}
.p-home-works-slider-item a {
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s
}
.p-home-works-slider-item a:hover .p-home-works-slider-item-image {
	-webkit-transform: scale(1.05);
	-ms-transform: scale(1.05);
	transform: scale(1.05)
}
.p-home-works-slider-item a:hover .p-home-works-slider-item-image::before {
	opacity: .6
}
.p-home-works-slider-item a:hover .p-home-works-slider-item-text::before {
	-webkit-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	transform: scale(1, 1)
}
.p-home-works-slider-item-thumb {
	position: relative;
	width: 100%;
	padding-top: 52.6315%;
	overflow: hidden;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s
}
.p-home-works-slider-item-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s
}
.p-home-works-slider-item-image::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	opacity: 0;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s;
	content: ""
}
.p-home-works-slider-item-title {
	margin: 30px 0;
	font-weight: 500;
	font-size: 1.125rem
}
.p-home-works-slider-item-text {
	position: relative;
	display: inline-block;
	margin-bottom: 40px;
	font-weight: 500;
	font-size: .875rem
}
.p-home-works-slider-item-text::before {
	position: absolute;
	bottom: -8px;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #231815;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s;
	-webkit-transform: scale(0, 1);
	-ms-transform: scale(0, 1);
	transform: scale(0, 1);
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top;
	content: ""
}
.p-home-works-slider-control {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex
}
.p-home-works-link {
	width: 300px;
	margin-bottom: 50px
}
.p-home-strength {
	padding-top: 100px;
	padding-bottom: 30px
}
.p-home-strength-lead-content {
	text-align: right
}
.p-home-strength-lead-content .p-home-section-lead {
	display: inline-block;
	text-align: left
}
.p-home-strength-link {
	width: 300px;
	margin-left: auto;
	margin-right: 270px;
	margin-bottom: 50px
}
.p-home-strength-content-link {
	margin-bottom: 5%
}
@media screen and (max-width: 1180px) {
	.p-home-key {
		height: 0;
		padding-top: 56.25%
	}
	.p-home-key-movie {
		min-height: 100%;
		position: absolute;
		top: 0;
		left: 0
	}
	.p-home-works-slider-wrap {
		width: calc((100vw - 768px)/2 + 100%);
		overflow: hidden
	}
	.p-home-works-slider-wrap .swiper {
		overflow: visible
	}
}
@media screen and (max-width: 960px) {
	.p-home-intro-contact {
		display: none
	}
}
@media screen and (max-width: 767px) {
	.p-fade-out-image {
		width: 50px;
		padding-top: 50px
	}
	.p-home-key-sound {
		position: absolute;
		right: 15px;
		bottom: 15px;
		width: 20px;
		height: 20px
	}
	.p-home-section-row {
		display: block
	}
	.p-home-section-head {
		padding: 0;
		text-align: center
	}
	.p-home-section-head.-lr {
		-webkit-writing-mode: unset;
		-ms-writing-mode: unset;
		writing-mode: unset
	}
	.p-home-section-head.-rl {
		-webkit-writing-mode: unset;
		-ms-writing-mode: unset;
		writing-mode: unset
	}
	.p-home-section-heading-en {
		margin: 0 0 5px;
		font-size: 1rem
	}
	.p-home-section-heading {
		margin: 0;
		font-size: 1.5rem
	}
	.p-home-section-content {
		width: 100%;
		margin: 0
	}
	.p-home-section-lead {
		margin-top: 20px;
		margin-bottom: 35px;
		font-size: .875rem;
		text-align: center
	}
	.p-home-section-content-row {
		display: block
	}
	.p-home-section-content-image, .p-home-section-content-link {
		position: relative;
		width: 100%;
		margin-bottom: 20px;
		padding-top: 52.6315%
	}
	.p-home-section-content-text {
		font-size: 1.4375rem
	}
	.p-home-intro {
		padding-top: 50px
	}
	.p-home-intro-heading-en {
		padding-left: 0
	}
	.p-home-intro-heading {
		line-height: 1.8
	}
	.p-home-intro-text {
		font-size: .875rem
	}
	.p-home-intro-link {
		width: 100%;
		max-width: 190px
	}
	.p-home-vison {
		padding-top: 70px
	}
	.p-home-vision-link {
		width: 100%;
		max-width: 190px;
		margin: 50px auto 0
	}
	.p-home-topics {
		padding-top: 90px
	}
	.p-home-topics-heading {
		line-height: unset
	}
	.p-home-topics-content {
		margin-top: 35px
	}
	.p-home-topics-link {
		width: 100%;
		max-width: 190px;
		margin: 50px auto 0
	}
	.p-home-works {
		padding-top: 90px
	}
	.p-home-works-slider-wrap {
		width: 100%
	}
	.p-home-works-slider-list .swiper-slide {
		width: 85%
	}
	.p-home-works-slider-item-title {
		margin: 10px 0 15px;
		font-size: .8125rem;
		line-height: 1.6
	}
	.p-home-works-slider-item-text {
		font-size: .75rem
	}
	.p-home-works-slider-item-text::before {
		height: 1px
	}
	.p-home-works-link {
		width: 100%;
		max-width: 210px;
		margin: 0 auto 50px
	}
	.p-home-strength {
		padding-top: 70px
	}
	.p-home-strength-lead-content {
		text-align: center
	}
	.p-home-strength-lead-content .p-home-section-lead {
		display: block;
		text-align: center
	}
	.p-home-strength-link {
		width: 100%;
		max-width: 210px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 50px
	}
	.p-home-strength-content {
		margin-top: 35px
	}
}
.p-lower-content {
	padding-top: 80px;
	padding-bottom: 100px
}
.p-lower-catch-lead {
	margin-top: 25px;
	font-weight: 500;
	font-size: 1.125rem;
	line-height: 2;
	letter-spacing: .1em
}
.p-lower-child-content {
	padding-top: 60px;
	padding-bottom: 100px
}
.p-lower-child-inner {
	width: 100%;
	max-width: 1040px;
	margin: auto;
	padding: 0 20px
}
.p-lower-child-section {
	margin-top: 75px
}
.p-lower-child-section-heading {
	font-weight: 500;
	font-size: 1.25rem;
	line-height: 1.8;
	letter-spacing: .1em
}
.p-lower-child-section-text {
	margin-top: 35px;
	font-size: .9375rem;
	line-height: 2;
	letter-spacing: .1em
}
.p-lower-child-section-image {
	margin-top: 35px;
	width: 76%;
	padding-top: 52.631579%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover
}
.p-lower-child-link {
	width: 300px;
	margin-top: 70px
}
.p-page-link-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}
.p-page-link-content {
	position: relative;
	overflow: hidden;
	width: 25%;
	padding-top: 20.5%
}
.p-page-link-content a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s
}
.p-page-link-content a:hover .p-page-link-content-thumbnail {
	scale: 1.05
}
.p-page-link-content a:hover .p-page-link-content-thumbnail::before {
	opacity: .6
}
.p-page-link-content-thumbnail {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s
}
.p-page-link-content-thumbnail::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	opacity: .3;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s;
	content: ""
}
.p-page-link-content-en {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-45px);
	-ms-transform: translateY(-45px);
	transform: translateY(-45px);
	left: 13%;
	color: #ed6c00;
	font-weight: 500;
	font-size: 1.125rem;
	font-family: "Teko", sans-serif;
	letter-spacing: .02em
}
.p-page-link-content-text {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 10%;
	color: #fff;
	font-weight: 600;
	font-size: 1.875rem;
	font-family: "Noto Serif JP", serif;
	letter-spacing: .12em
}
@media screen and (max-width: 1180px) {
	.p-page-link-content-en {
		left: 8%;
		font-size: .875rem
	}
	.p-page-link-content-text {
		left: 8%
	}
}
@media screen and (max-width: 960px) {
	.p-page-link-content-en {
		left: 4%;
		font-size: .875rem
	}
	.p-page-link-content-text {
		left: 4%
	}
}
@media screen and (max-width: 767px) {
	.p-lower-content {
		padding-top: 25px
	}
	.p-lower-catch-lead {
		font-size: .875rem;
		margin-top: 15px
	}
	.p-lower-child-content {
		padding-top: 25px
	}
	.p-lower-child-section {
		margin-top: 15px
	}
	.p-lower-child-section-heading {
		font-size: .875rem
	}
	.p-lower-child-section-text {
		margin-top: 15px;
		font-size: .75rem
	}
	.p-lower-child-section-image {
		width: 100%;
		margin-top: 25px
	}
	.p-lower-child-link {
		width: 210px;
		margin-right: auto;
		margin-left: auto
	}
	.p-message .c-lower-catch {
		font-size: .9375rem
	}
	.p-page-link-content {
		width: 50%;
		padding-top: 41%
	}
	.p-page-link-content-en {
		-webkit-transform: translateY(-25px);
		-ms-transform: translateY(-25px);
		transform: translateY(-25px);
		left: 4%;
		font-size: .75rem
	}
	.p-page-link-content-text {
		left: 4%;
		font-size: 1.0625rem
	}
}
.p-strength .c-lower-head::before {
	opacity: 0
}
.p-strength-section {
	margin-top: 100px
}
.p-strength-section:nth-of-type(1), .p-strength-section:nth-of-type(6) {
	margin-top: 120px
}
.p-strength-section-heading-en {
	padding-left: 70px;
	color: #ed6c00;
	font-weight: 500;
	font-size: 1.25rem;
	font-family: "Teko", sans-serif;
	letter-spacing: .04em
}
.p-strength-section-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex
}
.p-strength-section-heading {
	width: 270px;
	color: #585e5c;
	font-weight: 700;
	font-size: 2.1875rem;
	font-family: "Noto Serif JP", serif;
	letter-spacing: .15em
}
.p-strength-section-heading span {
	display: inline-block;
	margin-right: 40px
}
.p-strength-section-content {
	width: calc(100% - 270px);
	padding-left: 70px
}
.p-strength-section-text {
	font-weight: 500;
	font-size: 1.125rem;
	line-height: 2;
	letter-spacing: .1em
}
.p-strength-section-link {
	width: 300px;
	margin-top: 20px
}
.p-strength-section-link.-engineering {
	width: 360px
}
.p-strength-section-row-image {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 60px;
	padding: 0 70px
}
.p-strength-section-image {
	width: 38.297872%;
	padding-top: 20.2222%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover
}
.p-strength-section-image:first-child {
	margin-right: 40px
}
.p-strength-section-catch {
	margin-bottom: 70px;
	color: #ed6c00;
	font-weight: 700;
	font-size: 1.75rem;
	font-family: "Noto Serif JP", serif;
	line-height: 1.8;
	letter-spacing: .15em
}
.p-strength-section.-engineering .p-strength-section-heading {
	width: 100%
}
.p-strength-section.-engineering .p-strength-section-content {
	margin-top: 50px;
	margin-left: auto;
	padding-left: 0
}
.p-material-section-image {
	padding-top: 40%;
	background-size: contain
}
.p-engineering-section-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-top: 35px
}
.p-engineering-section-row .p-lower-child-section-text {
	width: calc(70% - 10px);
	margin-top: 0
}
.p-engineering-section-image {
	width: calc(30% - 10px);
	padding-top: 28.0625%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover
}
.p-engineering-section-image-text {
	margin-top: 10px;
	font-weight: 500;
	font-size: .8125rem;
	text-align: right
}
.p-engineering-section-heading {
	color: #ed6c00;
	font-weight: 700;
	font-size: 1.75rem;
	font-family: "Noto Serif JP", serif;
	line-height: 1.8;
	letter-spacing: .15em
}
.p-engineering-section-figure {
	margin-top: 35px;
	max-width: 700px
}
@media screen and (max-width: 767px) {
	.p-strength-section {
		margin-top: 35px
	}
	.p-strength-section:nth-of-type(1), .p-strength-section:nth-of-type(6) {
		margin-top: 45px
	}
	.p-strength-section-heading-en {
		padding-left: 35px;
		font-size: .875rem
	}
	.p-strength-section-row {
		display: block
	}
	.p-strength-section-heading {
		width: 100%;
		font-size: 1.5rem
	}
	.p-strength-section-heading span {
		margin-right: 15px
	}
	.p-strength-section-content {
		width: 100%;
		margin-top: 30px;
		padding-left: 0
	}
	.p-strength-section-text {
		font-size: .75rem
	}
	.p-strength-section-link {
		width: 210px
	}
	.p-strength-section-link.-engineering {
		width: 300px
	}
	.p-strength-section-row-image {
		margin-top: 25px;
		padding: 0
	}
	.p-strength-section-image {
		width: calc(50% - 10px);
		padding-top: 24.5%
	}
	.p-strength-section-image:first-child {
		margin-right: 20px
	}
	.p-strength-section-catch {
		margin-bottom: 25px;
		font-size: 1rem
	}
	.p-engineering-section-row {
		display: block;
		margin-top: 15px
	}
	.p-engineering-section-row .p-lower-child-section-text {
		width: 100%
	}
	.p-engineering-section-image {
		width: 100%;
		margin-top: 25px;
		padding-top: 96.875%
	}
	.p-engineering-section-image-text {
		margin-top: 15px;
		font-size: .625rem
	}
	.p-engineering-section-heading {
		font-size: .875rem
	}
	.p-engineering-section-figure {
		margin-top: 25px;
		max-width: 700px
	}
}
.p-works .c-lower-head::before {
	opacity: 0
}
.p-works-section {
	padding-top: 80px
}
.p-works-section:nth-of-type(1) {
	padding-top: 120px
}
.p-works-section-heading {
	font-weight: 700;
	font-size: 1.5rem;
	font-family: "Noto Serif JP", serif;
	line-height: 1.6;
	letter-spacing: .15em
}
.p-works-section-catch {
	margin-top: 15px;
	color: #ed6c00;
	font-weight: 700;
	font-size: 1.125rem;
	font-family: "Noto Serif JP", serif;
	line-height: 1.8;
	letter-spacing: .15em
}
.p-works-section-row {
	margin: 35px 0 25px
}
.p-works-section-row .swiper-slide {
	width: 33.3333%
}
.p-works-section-row .swiper-slide:nth-of-type(2) .p-works-section-image {
	margin-left: 10px
}
.p-works-section-row .swiper-slide:nth-of-type(3) .p-works-section-image {
	margin-left: auto
}
.p-works-slider-control {
	display: none
}
.p-works-section-image {
	width: 94.4444%;
	padding-top: 65.5555%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover
}
.p-works-section-content p {
	font-size: .9375rem;
	line-height: 2;
	letter-spacing: .1em
}
@media screen and (max-width: 767px) {
	.p-works-section {
		padding-top: 45px
	}
	.p-works-section:nth-of-type(1) {
		padding-top: 45px
	}
	.p-works-section-heading {
		font-size: 1.0625rem
	}
	.p-works-section-catch {
		font-size: .75rem
	}
	.p-works-section-row .swiper-slide {
		width: 100%
	}
	.p-works-section-row .swiper-slide:nth-of-type(2) .p-works-section-image {
		margin-left: 0
	}
	.p-works-section-row .swiper-slide:nth-of-type(3) .p-works-section-image {
		margin-left: 0
	}
	.p-works-slider-control {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		transform: translateY(-50%);
		left: 0;
		z-index: 1;
		width: 100%
	}
	.p-works-slider-control .swiper-button-prev, .p-works-slider-control .swiper-button-next {
		position: relative;
		width: 35px;
		height: 35px;
		margin: 0 5px;
		cursor: pointer
	}
	.p-works-slider-control .swiper-button-prev::before, .p-works-slider-control .swiper-button-next::before {
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		z-index: 2;
		width: 20px;
		height: 20px;
		content: ""
	}
	.p-works-slider-control .swiper-button-prev {
		background-image: url(../images/common/slider_arrow_left.svg)
	}
	.p-works-slider-control .swiper-button-next {
		background-image: url(../images/common/slider_arrow_right.svg)
	}
	.p-works-section-image {
		width: 100%;
		padding-top: 69.4%;
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover
	}
	.p-works-section-content p {
		font-size: .75rem
	}
}
.p-vision .c-lower-head::before {
	opacity: 0
}
.p-vision-section-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-top: 35px
}
.p-vision-section-row-image {
	width: 59%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover
}
.p-vision-movie {
	width: 39%
}
.p-vision-movie video {
	width: 100%
}
@media screen and (max-width: 767px) {
	.p-vision-section-row {
		margin-top: 25px;
		display: block
	}
	.p-vision-section-row-image {
		width: 100%;
		padding-top: 52.631579%
	}
	.p-vision-movie {
		width: 100%;
		margin-top: 25px
	}
}
.p-topics-section {
	padding-top: 80px
}
.p-topics-section-heading {
	position: relative;
	margin-bottom: 20px;
	padding-left: 16px;
	font-weight: 500;
	font-size: 1.125rem;
	letter-spacing: .1em
}
.p-topics-section-heading::before {
	position: absolute;
	top: 5px;
	left: 0;
	width: 12px;
	padding-top: 12px;
	background-color: #ed6c00;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	content: ""
}
.p-topics-section-text {
	margin-top: 20px;
	font-weight: 500;
	font-size: .9375rem;
	line-height: 1.6;
	letter-spacing: .1em
}
.p-topics-section-image {
	width: 820px;
	padding-top: 431px;
	margin-top: 35px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover
}
.p-topics-chart-content {
	width: 820px;
	padding: 20px 50px 40px;
	background-color: #fff4d6
}
.p-topics-chart-earnings {
	position: relative
}
.p-topics-chart-earnings-content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 300px
}
.p-topics-chart-earnings-text {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}
.p-topics-chart-earnings-text p {
	width: 45px;
	padding-right: 5px;
	font-size: 1.375rem;
	line-height: 1;
	font-family: "Teko", sans-serif;
	text-align: right
}
.p-topics-chart-line {
	position: relative;
	width: calc(100% - 45px);
	height: 2px;
	background-color: #c8c9ca
}
.p-topics-chart-wrap {
	padding-left: 45px
}
.p-topics-chart-drawing {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: distribute;
	justify-content: space-around;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	position: relative;
	width: 100%;
	height: 280px;
	margin-top: 10px;
	overflow: hidden
}

/* グラフで上が隠れるのを防ぐための空要素用設定 */
.p-topics-chart-empty {
  height: 19px;
}

.p-topics-chart-drawing-item {
	position: relative;
	width: 82px;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end
}
.p-topics-chart-drawing-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	position: absolute;
	left: 0;
	width: 100%;
	-webkit-transform: translateY(310px);
	-ms-transform: translateY(310px);
	transform: translateY(310px);
	-webkit-transition: 1.5s;
	-o-transition: 1.5s;
	transition: 1.5s
}
.p-topics-chart-drawing-row.is-animation {
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0)
}
.p-topics-chart-drawing-num {
	color: #f29600;
	font-size: 1.875rem;
	font-family: "Teko", sans-serif;
	text-align: center
}
.p-topics-chart-drawing-graph {
	width: 45px;
	margin: 0 auto;
	background-color: #f29600
}
.p-topics-chart-drawing-graph.is-animation {
	-webkit-animation: graphAnimUp 2.5s forwards;
	animation: graphAnimUp 2.5s forwards
}
.p-topics-chart-term {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: distribute;
	justify-content: space-around;
	margin-top: 15px
}
.p-topics-chart-term-text {
	width: 102px;
	text-align: center
}
.p-topics-chart-term-text p {
	font-size: .875rem
}
@-webkit-keyframes graphAnimUp {
	0% {
		-webkit-transform: translateY(100%);
		transform: translateY(100%)
	}
	100% {
		-webkit-transform: translateX(0);
		transform: translateX(0)
	}
}
@keyframes graphAnimUp {
	0% {
		-webkit-transform: translateY(100%);
		transform: translateY(100%)
	}
	100% {
		-webkit-transform: translateX(0);
		transform: translateX(0)
	}
}
@media screen and (max-width: 960px) {
	.p-topics-section-image {
		width: 100%;
		max-width: 820px;
		padding-top: 52.6%
	}
	.p-topics-chart-content {
		width: 100%;
		max-width: 820px
	}
}
@media screen and (max-width: 767px) {
	.p-topics-section {
		padding-top: 50px
	}
	.p-topics-section-heading {
		margin-bottom: 10px;
		font-size: .875rem;
		padding-left: 10px
	}
	.p-topics-section-heading::before {
		top: 5px;
		width: 8px;
		padding-top: 8px
	}
	.p-topics-section-text {
		font-size: .75rem
	}
	.p-topics-chart-content {
		padding: 25px 15px 25px 5px
	}
	.p-topics-chart-earnings-text p {
		width: 40px;
		font-size: 1.125rem
	}
	.p-topics-chart-line {
		width: calc(100% - 40px)
	}
	.p-topics-chart-wrap {
		padding-left: 40px
	}
	.p-topics-chart-drawing.-earnings .p-topics-chart-drawing-num {
		font-size: 1rem
	}
	.p-topics-chart-drawing.-division .p-topics-chart-drawing-num {
		font-size: 1rem
	}
	.p-topics-chart-drawing-item {
		width: 40px
	}
	.p-topics-chart-drawing-num {
		font-weight: 500;
		font-size: 1.375rem
	}
	.p-topics-chart-drawing-graph {
		width: 30px
	}
	.p-topics-chart-term {
		margin-top: 10px
	}
	.p-topics-chart-term-text p {
		font-size: .75rem;
		line-height: 1.4;
		letter-spacing: .04em
	}
}
.p-company-section-heading {
	color: #585e5c;
	font-weight: 700;
	font-size: 2.1875rem;
	font-family: "Noto Serif JP", serif;
	letter-spacing: .15em
}
.p-company-summary {
	padding-top: 35px;
	padding-bottom: 100px
}
.p-company-summary-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}
.p-company-summary-row.-office {
	padding-top: 35px
}
.p-company-summary-table {
	width: calc(50% - 20px)
}
.p-company-summary-table-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	border-bottom: 1px solid #231815
}
.p-company-summary-title, .p-company-summary-data {
	font-size: 1rem;
	line-height: 1.6;
	padding: 25px 0
}
.p-company-summary-title {
	width: 105px
}
.p-company-summary-data {
	width: calc(100% - 105px)
}
.p-company-summary-office {
	width: calc(50% - 20px)
}
.p-company-summary-office-title, .p-company-summary-office-address {
	font-size: 1rem;
	line-height: 1.6
}
.p-company-summary-office-address .tab-br {
	display: none
}
.p-company-summary-office-map {
	position: relative;
	width: 100%;
	margin-top: 20px;
	padding-top: 60%
}
.p-company-summary-office-map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}
.p-company-locus {
	padding-top: 35px;
	padding-bottom: 100px
}
.p-company-locus-table-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	border-bottom: 1px solid #231815
}
.p-company-locus-table-year, .p-company-locus-table-text {
	font-size: 1rem;
	line-height: 1.6;
	padding: 25px 0
}
.p-company-locus-table-year {
	width: 110px
}
.p-company-locus-table-year.-month {
	padding-left: 60px
}
.p-company-locus-table-text {
	width: calc(100% - 110px);
	padding-left: 5px
}
.p-company-mission {
	padding-top: 35px;
	padding-bottom: 100px
}
.p-company-mission-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}
.p-company-mission-wrap {
	margin: 0 30px
}
.p-company-mission-wrap-image {
	width: 160px
}
.p-company-mission-wrap-image img {
	-webkit-filter: drop-shadow(5px 5px 8px rgba(0, 0, 0, 0.3));
	filter: drop-shadow(5px 5px 8px rgba(0, 0, 0, 0.3))
}
.p-company-mission-wrap-text {
	margin-top: 25px;
	font-weight: 600;
	font-size: 1.25rem;
	font-family: "Noto Serif JP", serif;
	text-align: center
}
.p-company-mission-content {
	margin-top: 65px
}
.p-company-mission-content-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 700px;
	margin: 50px auto
}
.p-company-mission-content-image {
	width: 80px;
	text-align: center
}
.p-company-mission-content-image img {
	height: 40px;
	margin: 0 auto;
	-webkit-filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.3));
	filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.3));
	-webkit-transform: translateZ(0);
	transform: translateZ(0)
}
.p-company-mission-content-title {
	width: 290px;
	margin-left: 40px;
	font-weight: 600;
	font-size: 1.5rem;
	font-family: "Noto Serif JP", serif
}
.p-company-mission-content-title span {
	display: inline-block;
	width: 110px;
	margin-right: 10px;
	color: #ed6c00
}
.p-company-mission-content-text {
	font-weight: 500;
	font-size: 1rem
}
.p-company-client {
	padding-top: 35px
}
.p-company-client p {
	font-size: 1rem;
	line-height: 1.6
}
@media screen and (max-width: 960px) {
	.p-company-summary-office-address .tab-br {
		display: block
	}
}
@media screen and (max-width: 767px) {
	.p-company-section-heading {
		font-size: 1.125rem
	}
	.p-company-summary {
		padding-top: 25px;
		padding-bottom: 70px
	}
	.p-company-summary-row {
		display: block
	}
	.p-company-summary-row.-office {
		padding-top: 0
	}
	.p-company-summary-table {
		width: 100%
	}
	.p-company-summary-title, .p-company-summary-data {
		font-size: .75rem;
		padding: 18px 0
	}
	.p-company-summary-title {
		width: 75px
	}
	.p-company-summary-data {
		width: calc(100% - 75px)
	}
	.p-company-summary-office {
		width: 100%;
		margin-top: 25px
	}
	.p-company-summary-office-title, .p-company-summary-office-address {
		font-size: .75rem
	}
	.p-company-summary-office-address .tab-br {
		display: none
	}
	.p-company-summary-office-map {
		margin-top: 10px
	}
	.p-company-locus {
		padding-top: 25px;
		padding-bottom: 70px
	}
	.p-company-locus-table-year, .p-company-locus-table-text {
		font-size: .75rem;
		padding: 18px 0
	}
	.p-company-locus-table-year {
		width: 90px
	}
	.p-company-locus-table-year.-month {
		padding-left: 45px
	}
	.p-company-locus-table-text {
		width: calc(100% - 90px);
		padding-left: 0
	}
	.p-company-mission {
		padding-top: 25px;
		padding-bottom: 20px
	}
	.p-company-mission-wrap {
		width: 30%;
		margin: 0 1.5%
	}
	.p-company-mission-wrap-image {
		width: 100%
	}
	.p-company-mission-wrap-text {
		margin-top: 18px;
		font-size: .875rem
	}
	.p-company-mission-content {
		margin-top: 45px
	}
	.p-company-mission-content-row {
		width: 100%
	}
	.p-company-mission-content-image {
		width: 30px
	}
	.p-company-mission-content-image img {
		height: 18px
	}
	.p-company-mission-content-title {
		width: 130px;
		margin-left: 0;
		font-size: .8125rem
	}
	.p-company-mission-content-title span {
		width: auto;
		margin-right: 0;
		margin-left: 5px
	}
	.p-company-mission-content-text {
		width: calc(100% - 160px);
		font-size: .625rem;
		line-height: 2
	}
	.p-company-client {
		padding-top: 25px
	}
	.p-company-client p {
		font-size: .75rem
	}
}
.p-contact-text {
	margin-bottom: 35px;
	font-weight: 500;
	font-size: 1rem;
	line-height: 1.8;
	text-align: center
}
.p-contact-form-inner {
	width: 100%;
	max-width: 700px;
	margin: 0 auto
}
.p-contact-notes {
	width: 100%;
	margin: 0 auto 50px;
	padding: 20px 15px;
	background-color: #fff4d6
}
.p-contact-notes-text {
	margin-bottom: 15px;
	font-weight: 500;
	font-size: .875rem;
	padding-left: 1em;
	text-indent: -1em;
	line-height: 1.6;
	letter-spacing: .06em
}
.p-contact-notes-text:last-child {
	margin-bottom: 0
}
.p-contact-form-row {
	display: table;
	width: 100%;
	border-bottom: 1px solid #ccc
}
.p-contact-form-row:first-child {
	border-top: 1px solid #ccc
}
.p-contact-form-th {
	display: table-cell;
	width: 230px;
	padding: 30px 15px;
	background-color: #f9f9f9
}
.p-contact-form-label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-weight: 500;
	font-size: .9375rem
}
.p-contact-form-label span {
	padding: 5px 8px;
	background-color: #b42c2c;
	color: #fff;
	font-weight: 500;
	font-size: .8125rem
}
.p-contact-form-td {
	display: table-cell;
	width: calc(100% - 200px);
	padding: 30px 15px;
	font-size: .9375rem
}
.p-contact-form-td .error-text strong {
	color: #b42c2c
}
.p-contact-form-item.-size-m {
	max-width: 250px
}
.p-contact-form-item.-size-l {
	max-width: 100%
}
.p-contact-form-input, .p-contact-form-textarea {
	width: 100%;
	height: 100%;
	padding: 10px;
	border: 1px solid #ccc;
	background-color: #fcfcfc;
	font-size: .9375rem;
	-webkit-transition: .4s;
	-o-transition: .4s;
	transition: .4s
}
.p-contact-form-input:focus, .p-contact-form-textarea:focus {
	border: 1px solid #ed6c00
}
.p-contact-form-textarea {
	min-height: 200px
}
.p-contact-submit {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-top: 50px
}
.p-contact-submit-button {
	width: 270px;
	margin: 0 20px
}
.p-contact-submit-button button, .p-contact-submit-button a {
	background-color: #ed6c00;
	border: 1px solid #ed6c00;
	color: #fff
}
.p-contact-submit-button button:hover, .p-contact-submit-button a:hover {
	background-color: #fff;
	color: #ed6c00
}
.p-contact-submit-button button.-back, .p-contact-submit-button a.-back {
	background-color: #787878;
	border: 1px solid #787878;
	color: #fff
}
.p-contact-submit-button button.-back:hover, .p-contact-submit-button a.-back:hover {
	background-color: #fff;
	color: #787878
}
@media screen and (max-width: 767px) {
	.p-contact-text {
		font-size: .875rem
	}
	.p-contact-notes-text {
		font-size: .6875rem
	}
	.p-contact-form-body.-check .p-contact-form-td {
		padding-left: 10px;
		padding-right: 10px
	}
	.p-contact-form-row {
		display: block
	}
	.p-contact-form-row:last-child {
		border-bottom: none
	}
	.p-contact-form-row:last-child .p-contact-form-td {
		padding-bottom: 0
	}
	.p-contact-form-th {
		display: block;
		width: 100%;
		padding: 10px 10px
	}
	.p-contact-form-label {
		font-size: .75rem
	}
	.p-contact-form-label span {
		padding: 3px 6px;
		font-size: .6875rem
	}
	.p-contact-form-td {
		display: block;
		width: 100%;
		padding: 20px 0 50px;
		font-size: .75rem
	}
	.p-contact-form-item.-size-m {
		max-width: 100%
	}
	.p-contact-form-input, .p-contact-form-textarea {
		padding: 10px 5px;
		font-size: .6875rem
	}
	.p-contact-submit {
		display: block;
		margin-top: 50px
	}
	.p-contact-submit-button {
		width: 190px;
		margin: 0 auto 20px
	}
}
.cfx::after {
	content: "";
	clear: both;
	display: block
}
.only-pc {
	display: block
}
.only-pc.-inline {
	display: inline-block
}
.only-tab {
	display: none
}
.only-tab.-inline {
	display: none
}
.only-sp {
	display: none
}
.only-sp.-inline {
	display: none
}
@media screen and (max-width: 960px) {
	.only-tab {
		display: block
	}
	.only-tab.-inline {
		display: inline-block
	}
}
@media screen and (max-width: 767px) {
	.only-pc {
		display: none
	}
	.only-pc.-inline {
		display: none
	}
	.only-tab {
		display: none
	}
	.only-tab.-inline {
		display: none
	}
	.only-sp {
		display: block
	}
	.only-sp.-inline {
		display: inline-block
	}
}
@font-face {
	font-family: "swiper-icons";
	src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
	font-weight: 400;
	font-style: normal
}
:root {
	--swiper-theme-color: #007aff
}
.swiper {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	overflow: hidden;
	list-style: none;
	padding: 0;
	z-index: 1
}
.swiper-vertical>.swiper-wrapper {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column
}
.swiper-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	-o-transition-property: transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
	-webkit-box-sizing: content-box;
	box-sizing: content-box
}
.swiper-android .swiper-slide, .swiper-wrapper {
	-webkit-transform: translate3d(0px, 0, 0);
	transform: translate3d(0px, 0, 0)
}
.swiper-pointer-events {
	-ms-touch-action: pan-y;
	touch-action: pan-y
}
.swiper-pointer-events.swiper-vertical {
	-ms-touch-action: pan-x;
	touch-action: pan-x
}
.swiper-slide {
	-ms-flex-negative: 0;
	flex-shrink: 0;
	width: 100%;
	height: 100%;
	position: relative;
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	-o-transition-property: transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform
}
.swiper-slide-invisible-blank {
	visibility: hidden
}
.swiper-autoheight, .swiper-autoheight .swiper-slide {
	height: auto
}
.swiper-autoheight .swiper-wrapper {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-transition-property: height, -webkit-transform;
	transition-property: height, -webkit-transform;
	-o-transition-property: transform, height;
	transition-property: transform, height;
	transition-property: transform, height, -webkit-transform
}
.swiper-backface-hidden .swiper-slide {
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden
}
.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper {
	-webkit-perspective: 1200px;
	perspective: 1200px
}
.swiper-3d .swiper-wrapper, .swiper-3d .swiper-slide, .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-cube-shadow {
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d
}
.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-slide-shadow-bottom {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 10
}
.swiper-3d .swiper-slide-shadow {
	background: rgba(0, 0, 0, .15)
}
.swiper-3d .swiper-slide-shadow-left {
	background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
	background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}
.swiper-3d .swiper-slide-shadow-right {
	background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
	background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}
.swiper-3d .swiper-slide-shadow-top {
	background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
	background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}
.swiper-3d .swiper-slide-shadow-bottom {
	background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
	background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}
.swiper-css-mode>.swiper-wrapper {
	overflow: auto;
	scrollbar-width: none;
	-ms-overflow-style: none
}
.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
	display: none
}
.swiper-css-mode>.swiper-wrapper>.swiper-slide {
	scroll-snap-align: start start
}
.swiper-horizontal.swiper-css-mode>.swiper-wrapper {
	-ms-scroll-snap-type: x mandatory;
	scroll-snap-type: x mandatory
}
.swiper-vertical.swiper-css-mode>.swiper-wrapper {
	-ms-scroll-snap-type: y mandatory;
	scroll-snap-type: y mandatory
}
.swiper-centered>.swiper-wrapper::before {
	content: "";
	-ms-flex-negative: 0;
	flex-shrink: 0;
	-webkit-box-ordinal-group: 10000;
	-ms-flex-order: 9999;
	order: 9999
}
.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
	-webkit-margin-start: var(--swiper-centered-offset-before);
	margin-inline-start: var(--swiper-centered-offset-before)
}
.swiper-centered.swiper-horizontal>.swiper-wrapper::before {
	height: 100%;
	width: var(--swiper-centered-offset-after)
}
.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
	-webkit-margin-before: var(--swiper-centered-offset-before);
	margin-block-start: var(--swiper-centered-offset-before)
}
.swiper-centered.swiper-vertical>.swiper-wrapper::before {
	width: 100%;
	height: var(--swiper-centered-offset-after)
}
.swiper-centered>.swiper-wrapper>.swiper-slide {
	scroll-snap-align: center center
}
.hoge {
	padding: 500px 0
}
/*20221212*/

.p-lower-child-section-movie {
	width: 42%;
	margin-top: 35px;
	display: flex;
}
.p-lower-child-section-movie video {
	width: 100%;
	display: inline-block;
}
.p-lower-child-section-movie video+video {
	margin-left: 22px;
}
@media screen and (max-width: 767px), print {
	.p-lower-child-section-movie {
		width: 100%;
		display: block;
	}
	.p-lower-child-section-movie video+video {
		margin-top: 25px;
		margin-left: 0;
	}
}
#mailformpro .mfp_element_text,
#mailformpro .mfp_element_number,
#mailformpro .mfp_element_select-one,
#mailformpro .mfp_element_email,
#mailformpro .mfp_element_tel,
#mailformpro .mfp_element_textarea,
#mailformpro .mfp_element_date,
#mailformpro .mfp_element_password {
	border-radius: 0;
	box-shadow: none;
	margin: 0;
	vertical-align: middle;  
	height: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  background-color: #fcfcfc;
  font-size: 0.9375rem;
}
#mailformpro .mfp_element_textarea {
	width: 100%;
}
#mailformpro .mfp_element_all {
	max-width: none;
}

#mailformpro .mfp_element_submit {
	background: #ed6c00;
  border: 1px solid #ed6c00;
  color: #fff;
	box-shadow: none;
	border-radius: 0;
	text-shadow: none;
}

#mailformpro .mfp_element_submit:hover {
	background: #fff;
	color: #ed6c00
}
#mfp_thanks {
	display: none;
}
