/* 共通 */

* {
	box-sizing: border-box;
}
body {
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.65;
	color: #ffffff;
}
body::before {
	content: "";
	background-image: url(../img/bg.jpg);
	background-size: contain;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -3;
}
img {
	display: block;
	max-width: 100%;
	height: auto;
}
a {
	text-decoration: none;
	transition: opacity 0.3s;
	display: block;
}
a:hover {
	opacity: 0.5;
}
a:focus {
	outline: 0;
}
sup {
	font-size: 60%;
}
.spBr {
	display: none;
}
.fade {
	opacity: 0;
	visibility: hidden;
	transform: translateY(1.78571428571429vw);
	transition: all 0.75s ease 0.5s;
}
.fade.in {
	opacity: 1;
	transform: translateY(0);
	visibility: visible;
}
.reveal {
	position: relative;
	z-index: -1;
}
.reveal::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #c7161d;
	transform: scaleY(0);
	transform-origin: bottom;
}
.reveal picture {
	display: block;
	visibility: hidden;
}
.reveal.show::before {
	-webkit-animation: up 1.2s 0.5s forwards;
	        animation: up 1.2s 0.5s forwards;
}
.reveal.show picture {
	-webkit-animation: upimg 1.2s 0.5s forwards;
	        animation: upimg 1.2s 0.5s forwards;
}
@-webkit-keyframes upimg {
	25% {
		visibility: hidden;
	}
	50% {
		visibility: visible;
	}
	100% {
		visibility: visible;
	}
}
@keyframes upimg {
	25% {
		visibility: hidden;
	}
	50% {
		visibility: visible;
	}
	100% {
		visibility: visible;
	}
}
@-webkit-keyframes up {
	0% {
		transform: scaleY(0);
		transform-origin: bottom;
	}
	25% {
		transform: scaleY(1);
		transform-origin: bottom;
	}
	50% {
		transform: scaleY(1);
		transform-origin: top;
	}
	75% {
		transform: scaleY(0);
		transform-origin: top;
	}
	100% {
		transform: scaleY(0);
		transform-origin: top;
	}
}
@keyframes up {
	0% {
		transform: scaleY(0);
		transform-origin: bottom;
	}
	25% {
		transform: scaleY(1);
		transform-origin: bottom;
	}
	50% {
		transform: scaleY(1);
		transform-origin: top;
	}
	75% {
		transform: scaleY(0);
		transform-origin: top;
	}
	100% {
		transform: scaleY(0);
		transform-origin: top;
	}
}
.head {
	position: absolute;
	top: 1.1428571428571vw;
	left: 1.1428571428571vw;
	right: 1.1428571428571vw;
	display: flex;
	justify-content: space-between;
}
.headLogo h1 {
	margin: 0;
	width: 13.9285714285714vw;
}
.headLogo p {
	font-size: 0.7142857142857vw;
	color: #000000;
	margin: 0.8em 0 0;
}
.headSns {
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	list-style: none;
}
.headSnsFb {
	width: 1.0714285714286vw;
	margin-right: 1.4285714285714vw;
}
.headSnsTw {
	width: 1.8571428571429vw;
}
.headMv {
	display: flex;
}
.headMvPic {
	font-family: 'Raleway', sans-serif;
	font-size: 3vw;
	font-weight: 800;
	color: #c7161d;
	width: 32.14285714285714vw;
}
.headMvPic p {
	margin: 0;
}
.headMvPic.headMvPic1 {
	text-align: right;
}
.headMvTitle {
	text-align: center;
	flex: 1;
}
.headMvTitle h2 {
	text-shadow: 0.068181818181818em 0.068181818181818em 0.113636363636364em rgba(0, 0, 0, 0.5);
	font-size: 3.1428571428571vw;
	font-weight: bold;
	line-height: 1.43;
	margin: 0;
}
.headMvTitle p {
	text-shadow: 0.125em 0.125em 0.208333333333333em rgba(0, 0, 0, 0.5);
	font-size: 1.7142857142857vw;
	font-weight: bold;
	margin: 0.375em 0 1.625em;
}
.headMvTitle h3 {
	padding: 0.25em 0 0.125em;
	background-color: #c7161d;
	font-size: 1.1428571428571vw;
	font-weight: bold;
	letter-spacing: 0.4em;
	margin: 0 0 2.5625em;
}
.headMvTitleNames {
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
.headMvTitleNames div {
	width: 11.2857142857143vw;
	white-space: nowrap;
}
.headMvTitleNames span {
	font-size: 1vw;
	font-weight: bold;
	line-height: 1.71;
	margin-bottom: 0.7857142857143vw;
	display: block;
}
.headMvTitleNames b {
	font-size: 2.1428571428571vw;
	display: block;
}
.headMvTitleNames p {
	display: none;
}
.headMvTitleNames img {
	width: 3.5714285714286vw;
	margin: 0 2.1428571428571vw 2vw;
}
.w800 {
	max-width: 800px;
	margin: auto;
}
.padSec {
	padding: 0 30px;
}
section {
	margin: 96px 0;
}
.sec01 {
	display: flex;
}
.sec01 > p {
	margin: 0 51px 0 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 2;
}
.sec01 div {
	max-width: 200px;
	flex-shrink: 0;
}
.sec01 div p {
	margin: 20px 0 0;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.67;
}
.sec02 {
	background-color: #c7161d;
}
.sec02 h3 {
	padding: 14px 48px;
	font-size: 22px;
	text-align: center;
	position: relative;
	margin: 0;
}
.sec02 h3 img {
	position: absolute;
	right: 48px;
	top: 0;
	bottom: 0;
	margin: auto;
	height: 20px;
	cursor: pointer;
}
.sec02 h3 img.open {
	transform: rotate(180deg);
}
.sec02Div {
	display: none;
}
.sec02Div > div {
	padding: 14px 48px 48px;
	display: flex;
}
.sec02Div > div > p {
	margin: 0 30px 0 0;
	font-size: 16px;
	line-height: 2;
}
.sec02Div > div > div {
	max-width: 240px;
	flex-shrink: 0;
}
.sec02Div > div > div p {
	margin: 10px 0 0;
	font-size: 12px;
	line-height: 1.67;
}
.sec03Bg {
	background-color: rgba(255, 255, 255, 0.8);
	padding: 48px 30px;
}
.sec03 {
	display: flex;
	align-items: flex-end;
}
.sec03Img01 {
	max-width: 144px;
	flex-shrink: 0;
}
.sec03Img02 {
	max-width: 163px;
	flex-shrink: 0;
}
.sec03 div {
	margin: 0 40px;
}
.sec03 div h3 {
	margin: 0;
	font-size: 24px;
	color: #c7161d;
}
.sec03 div p {
	font-size: 14px;
	line-height: 2;
	color: #000000;
	margin: 10px 0 0;
}
.sec03 div span {
	font-size: 0.8571428571428571em;
}
.sec04Bg {
	position: relative;
	margin-top: 10.2857142857143vw;
}
.sec04Moon {
	position: absolute;
	z-index: -2;
	top: 0;
	max-width: 66.5714285714286vw;
	width: 100%;
	left: 0;
	right: 0;
	margin: auto;
	transform: translateY(-35%);
}
@media all and (-ms-high-contrast: none) {
	.sec04Moon {
		transform: translateY(-52%);
	}
}
.sec04Moon picture {
	display: block;
}
.sec04 {
	position: relative;
}
.sec04 h3 {
	-webkit-text-stroke: 0.042857142857143em #ffffff;
	font-family: 'Raleway', sans-serif;
	font-size: 5vw;
	font-weight: 800;
	text-align: center;
	color: transparent;
	margin: 0 0 0.285714285714286em;
	z-index: 1;
	position: relative;
	line-height: 1.2;
}
@media all and (-ms-high-contrast: none) {
  .sec04 h3  {
    color: #ffffff;
  }
}
.sec04 > p {
	position: absolute;
	font-size: 2.1428571428571vw;
	font-weight: bold;
	font-stretch: normal;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	        writing-mode: vertical-rl;
	background-color: #c7161d;
	left: 0;
	right: 0;
	margin: auto;
	width: 2em;
	line-height: 2;
	padding: 5.666666666666667em 0 1em;
	top: -1.5em;
	bottom: 0;
	z-index: 0;
	white-space: nowrap;
	letter-spacing: 0.2em;
}
.sec04 > div {
	display: flex;
}
.sec04Person {
	display: flex;
	flex-direction: column;
	width: 50%;
}
.sec04Pic {
	min-height: 0%;
}
.sec04Name.sec04Name1 {
	text-align: right;
}
.sec04Name {
	display: flex;
	flex-direction: column;
	flex: 1 0 auto;
	padding: 2.8571428571429vw 5.7142857142857vw;
	padding-bottom: 0;
}
.sec04Name p {
	margin: 0 0 auto;
	font-family: 'Raleway', sans-serif;
	font-size: 3vw;
	font-weight: 800;
	color: #c7161d;
	line-height: 1;
}
.sec04Name span {
	margin-top: 2.857142857142857em;
	font-size: 1vw;
	font-weight: bold;
}
.sec04Name b {
	font-size: 2.1428571428571vw;
}
.sec05 .w800 {
	margin: 80px auto;
}
.sec05 h4 {
	font-size: 28px;
	text-align: center;
	margin: 0 0 50px;
}
.sec05 p {
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	margin: 2em 0;
}
.sec05 p b {
	font-weight: bold;
	color: #e04e54;
}
.sec05 p.right {
text-align: right;
}
.sec05Img {
	width: 500px;
	margin: 80px auto 0;
}
.sec05Profile h5 {
	margin: 0 0 50px;
	font-family: 'Raleway', sans-serif;
	font-size: 42px;
	font-weight: 800;
	text-align: center;
	color: #c7161d;
	line-height: 1;
}
.sec05Profile div {
	display: flex;
	justify-content: space-between;
	position: relative;
}
.sec05Profile div p {
	flex: 1;
	font-size: 14px;
	margin: 0;
}
.sec05Profile div p:nth-child(1) {
	margin-right: 30px;
	padding-right: 30px;
	border-right: 1px solid #c7161d;
}
.sec06 {
	margin: 14.2857142857143vw 0 0;
}
.sec06Head {
	position: relative;
	padding: 3.5714285714286vw;
}
.sec06Head::before,
.sec06Head::after {
	content: "";
	top: 0;
	bottom: 0;
	width: 50%;
	position: absolute;
	z-index: -1;
}
.sec06Head::before {
	background-color: rgba(1, 83, 153, 0.4);
	left: 0;
}
.sec06Head::after {
	background-color: rgba(199, 22, 29, 0.4);
	right: 0;
}
.sec06Head img {
	position: relative;
	max-width: 21.4285714285714vw;
	margin: 0 auto 3.5714285714286vw;
}
.sec06Head h2 {
	text-align: center;
	margin: 0;
	font-size: 2.5714285714286vw;
}
.sec06Body {
	display: flex;
}
.sec06BodyItem1 {
	background-color: rgba(1, 83, 153, 0.4);
}
.sec06BodyItem2 {
	background-color: rgba(199, 22, 29, 0.4);
}
.sec06BodyItem {
	display: flex;
	flex-direction: column;
	flex: 1;
}
.sec06BodyItemImg {
	min-height: 0%;
}
.sec06BodyItem > div {
	padding: 3.5714285714286vw 1.4285714285714vw 7.1428571428571vw;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	flex: 1 0 auto;
}
.sec06BodyItem h3 {
	margin: 0 0 0.8125em;
	font-size: 2.2857142857143vw;
	white-space: nowrap;
	text-indent: 0.5em;
}
.sec06BodyItem span {
	font-size: 1vw;
	font-weight: bold;
}
.sec06BodyItem b {
	font-size: 1.7142857142857vw;
}
.sec06BodyItem i {
	font-size: 1.1428571428571vw;
	font-weight: 500;
	border: solid 1px #ffffff;
	font-style: normal;
	padding: 0.125em 0.6875em 0.25em;
	margin-top: 0.875em;
}
.sec06BodyItem p {
	text-align: left;
	margin: 2.076923076923077em auto 3.846153846153846em;
	font-size: 0.9285714285714vw;
	font-weight: 500;
	line-height: 1.69;
}
.sec06BodyItem a {
	width: 14.285714285714286em;
	margin: auto 0 5em;
	padding: 0.714285714285714em 0;
	background-color: #ffffff;
	font-size: 1vw;
	font-weight: bold;
	background-position: right 0.571428571428571em top 0.571428571428571em;
	background-repeat: no-repeat;
	background-size: 0.928571428571429em auto;
}
.sec06BodyItem1 a {
	color: #01233f;
	background-image: url(../img/link_img01.png);
}
.sec06BodyItem2 a {
	color: #50090c;
	background-image: url(../img/link_img02.png);
}
.sec06BodyVideo {
	width: 28.5714285714286vw;
	position: relative;
}
.sec06BodyVideo::before {
	content: "";
	padding-top: 50%;
	display: block;
}
.sec06BodyVideo iframe {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.foot {
	background-color: #000000;
	text-align: center;
}
.foot01 {
	border-bottom: 1px solid #6c6c6c;
	padding: 60px 30px 10px;
	position: relative;
}
.footBTT {
	font-family: 'Raleway', sans-serif;
	font-weight: 800;
	cursor: pointer;
	position: relative;
}
.footBTT::after {
	content: "";
	position: absolute;
	bottom: 100%;
	left: 50%;
	display: block;
	width: 1px;
	height: 100px;
	background-color: #fff;
	transition: 0.2s 0.5s;
	transform-origin: bottom;
	-webkit-animation: up 1.8s infinite;
	        animation: up 1.8s infinite;
	transform: translateX(50%);
}
.foot01Logo {
	display: block;
	width: 230px;
	margin: 50px auto;
}
.foot01 p {
	font-size: 12px;
	margin: 0;
}
.footSns {
	position: absolute;
	top: 30px;
	right: 30px;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	list-style: none;
}
.footSnsFb {
	width: 15px;
	margin-right: 20px;
}
.footSnsTw {
	width: 26px;
}
.foot02 {
	padding: 13px 20px 20px;
}
.foot02 p {
	font-size: 10px;
	line-height: 1.6;
	margin: 0;
}

@media screen and (max-width: 750px) {
	.spBr {
		display: block;
	}
	body::before {
		background-size: 200% auto;
		background-position: center top;
	}
	.head {
		top: 1.3333333333333vw;
		left: 1.3333333333333vw;
		right: 1.3333333333333vw;
	}
	.headLogo h1 {
		width: 33.8666666666667vw;
	}
	.headLogo p {
		font-size: 2.4vw;
		margin-top: 0.555555555555556em;
		line-height: 1.39;
	}
	.headSnsFb {
		width: 2vw;
		margin-right: 2.6666666666667vw;
	}
	.headSnsTw {
		width: 3.4666666666667vw;
	}
	.headMv {
		flex-wrap: wrap;
	}
	.headMvPic {
		width: 50%;
	}
	.headMvPic p {
		display: none;
	}
	.headMvPic.headMvPic1 {
		order: 1;
	}
	.headMvPic.headMvPic2 {
		order: 2;
	}
	.headMvTitle {
		order: 3;
		width: 100%;
	}
	.headMvTitleEarth {
		width: 49.7333333333333vw;
		margin: -20.2vw auto 0;
		display: block;
		z-index: -3;
		position: relative;
	}
	.headMvTitle h2 {
		font-size: 8.5333333333333vw;
	}
	.headMvTitle p {
		font-size: 4.8vw;
		margin-bottom: 1.111111111111111em;
	}
	.headMvTitle h3 {
		font-size: 4vw;
		padding: 0 0 0.125em;
		margin-bottom: 1.666666666666667em;
	}
	.headMvTitleNames div {
		width: auto;
	}
	.headMvTitleNames span {
		font-size: 3.7333333333333vw;
	}
	.headMvTitleNames b {
		font-size: 6.6666666666667vw;
	}
	.headMvTitleNames p {
		font-family: 'Raleway', sans-serif;
		display: block;
		font-size: 3.2vw;
		font-weight: 800;
		color: #c7161d;
		margin: 0;
	}
	.headMvTitleNames img {
		width: 10.6666666666667vw;
		margin: 0 2.6666666666667vw 6.5vw;
	}
	section {
		margin: 13.3333333333333vw 0;
	}
	.padSec {
		padding: 0 4vw;
	}
	.sec01 {
		display: block;
	}
	.sec01 > p {
		font-size: 4.2666666666667vw;
		margin: 0 0 3.125em;
	}
	.sec01 div {
		max-width: 100%;
		width: 53.3333333333333vw;
		margin: auto;
	}
	.sec01 div p {
		font-size: 3.2vw;
		margin-top: 1.125em;
	}
	.sec02 h3 {
		font-size: 5.3333333333333vw;
		line-height: 1;
		padding: 0.8em;
	}
	.sec02 h3 img {
		height: auto;
		right: 4vw;
		width: 6.6666666666667vw;
	}
	.sec02Div > div {
		padding: 1.3333333333333vw 4.6666666666667vw 6.4vw;
		display: block;
	}
	.sec02Div > div > p {
		font-size: 4.2666666666667vw;
		margin: 0 0 1em;
	}
	.sec02Div > div > div {
		max-width: 100%;
	}
	.sec02Div > div > div p {
		font-size: 3.2vw;
		margin-top: 0.833333333333333em;
	}
	.sec03Bg {
		padding: 10.6666666666667vw 8.6666666666667vw;
	}
	.sec03 {
		display: block;
	}
	.sec03 div {
		margin: 0;
	}
	.sec03Img01 {
		max-width: 100%;
		width: 36.1333333333333vw;
		display: block;
		margin: 0 auto 8vw;
	}
	.sec03 div h3 {
		font-size: 5.8666666666667vw;
		text-align: center;
	}
	.sec03 div p {
		font-size: 3.7333333333333vw;
		margin: 1.392857142857143em 0 1.928571428571429em;
	}
	.sec03Img02 {
		display: block;
		max-width: 100%;
		width: 46.1333333333333vw;
		margin: auto;
	}
	.sec04Bg {
		margin-top: 56.6666666666667vw;
	}
	.sec04Moon {
		max-width: 100%;
		transform: translateY(0);
	}
	.sec04 h3 {
		font-size: 12vw;
		margin-bottom: 0.444444444444444em;
	}
	.sec04 > p {
		font-size: 5.3333333333333vw;
		width: 1.5em;
		line-height: 1.5;
		top: -1.1em;
		padding-top: 6em;
		letter-spacing: 0.15em;
	}
	.sec04Name p {
		font-size: 6.6666666666667vw;
		line-height: 1.2;
	}
	.sec04Name {
		padding-top: 6.6666666666667vw;
	}
	.sec04Name.sec04Name1 {
		padding-left: 2.6666666666667vw;
		padding-right: 8vw;
	}
	.sec04Name.sec04Name2 {
		padding-right: 2.6666666666667vw;
		padding-left: 8vw;
	}
	.sec04Name span {
		font-size: 3.2vw;
		margin-top: 1.5em;
	}
	.sec04Name b {
		font-size: 6.1333333333333vw;
		margin-top: 0.369565217391304em;
	}
	.sec05 .w800 {
		margin: 12vw auto;
	}
	.sec05 h4 {
		font-size: 7.4666666666667vw;
		margin-bottom: 1.428571428571429em;
	}
	.sec05 p {
		font-size: 4.2666666666667vw;
	}
	.sec05Img {
		width: 78.5333333333333vw;
		margin-top: 12vw;
	}
	.sec05Profile h5 {
		font-size: 6.6666666666667vw;
		margin-bottom: 10.6666666666667vw;
	}
	.sec05Profile div {
		display: block;
	}
	.sec05Profile div p {
		width: auto;
		font-size: 3.73333333333333vw;
	}
	.sec05Profile div p:nth-child(1) {
		margin-right: 0;
		padding-right: 0;
		border-right: 0;
		margin-bottom: 1.785714285714286em;
		padding-bottom: 1.785714285714286em;
		border-bottom: 1px solid #c7161d;
	}
	.sec06 {
		margin-top: 26.6666666666667vw;
	}
	.sec06Head {
		padding: 10.6666666666667vw 0;
	}
	.sec06Head img {
		max-width: 53.3333333333333vw;
		margin-bottom: 6.66666666666667vw;
	}
	.sec06Head h2 {
		font-size: 8vw;
	}
	.sec06Body {
		display: block;
	}
	.sec06BodyItem {
		display: block;
	}
	.sec06BodyItem > div {
		padding: 6.66666666666667vw 4vw 13.3333333333333vw;
	}
	.sec06BodyItem h3 {
		font-size: 6.66666666666667vw;
		margin-bottom: 0.76em;
	}
	.sec06BodyItem span {
		font-size: 3.73333333333333vw;
	}
	.sec06BodyItem b {
		font-size: 5.33333333333333vw;
	}
	.sec06BodyItem p {
		font-size: 3.2vw;
		line-height: 1.83;
		margin: 2.5em auto 2.916666666666667em;
	}
	.sec06BodyItem a {
		font-size: 3.73333333333333vw;
		margin-bottom: 2.5em;
	}
	.sec06BodyVideo {
		width: 100%;
		height: 52.2666666666667vw;
	}
	.sec06BodyItem i {
		font-size: 3.46666666666667vw;
	}
	.foot01 {
		padding: 22.6666666666667vw 0 6.66666666666667vw;
	}
	.footBTT {
		font-size: 3.2vw;
	}
	.footBTT::after {
		height: 26.6666666666667vw;
		transition-duration: 0.4s;
		bottom: 150%;
	}
	.foot01Logo {
		width: 60vw;
		margin: 12.8vw auto 10.6666666666667vw;
	}
	.foot01 p {
		font-size: 3.73333333333333vw;
	}
	.footSns {
		position: static;
		justify-content: center;
		margin-top: 8vw;
	}
	.footSnsFb {
		width: 5.2vw;
		margin-right: 8vw;
	}
	.footSnsTw {
		width: 9.06666666666667vw;
	}
	.foot02 {
		padding: 5.33333333333333vw 0;
	}
	.foot02 p {
		font-size: 2.4vw;
	}
}
