@charset "UTF-8";
@import url('reset.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;500;700&display=swap');
@import url('message.css');
@import url('chart.css');

/* =========================================================
	basic style
========================================================= */
*,
*:before,
*:after {
	box-sizing: border-box
}

html{
	height: 100%;
	font-size: 62.5%;
	overflow-x: hidden;
}

body{
	margin: 0;
	padding: 0;
	height: 100%;
	background: #fff;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.8;
	font-family: kinto-sans, sans-serif,游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ Pro','Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ ゴシック',’MS PGothic’, Arial, Helvetica, Geneva, Swiss, SunSans-Regular, sans-serif;
	font-style: normal;
	text-align: center;
	color: #343434;
	-webkit-text-size-adjust: 100%;
	animation: fadeIn 3s ease 0s 1 normal;
	-webkit-animation: fadeIn 3s ease 0s 1 normal;
}

.pc{
	display: block;
}
	@media only screen and (max-width: 960px){
		.pc {
			display: none;
		}
	}
	@media only screen and (max-width : 599px){
		.pc {
			display: none;
		}
	}


.pc_tablet{
	display: block;
}
	@media only screen and (max-width: 960px){
		.pc_tablet {
			display: block;
		}
	}
	@media only screen and (max-width : 689px){
		.pc_tablet {
			display: none;
		}
	}

.tablet_sp	{
	display: none;
}
	@media only screen and (max-width: 960px){
		.tablet_sp {
			display: block;
		}
	}
	@media only screen and (max-width : 599px){
		.tablet_sp {
			display: block;
		}
	}

.tablet	{
	display: none;
}
	@media only screen and (max-width: 960px){
		.tablet {
			display: block;
		}
	}
	@media only screen and (max-width : 599px){
		.tablet {
			display: none;
		}
	}

.sp	{
	display: none;
}
	@media only screen and (max-width: 960px){
		.sp {
			display: none;
		}
	}
	@media only screen and (max-width : 599px){
		.sp {
			display: block;
		}
	}

ul{
	margin: 0;
	padding: 0;
	}

a	{
	overflow: hidden;
	outline: none;
	border: none;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

a:focus {
	outline: none;
}

a:link {
	color: #9e2714;
	text-decoration: none;
}

a:visited {
	color: #9e2714;
	text-decoration: none;
}

a:hover {
	color: #c2351f;
	text-decoration: none;
}

a:active {
	color: #dd533e;
	text-decoration: none;
}

img {
	margin: 0;
	border: 0;
}

a img {
	margin: 0;
	border: 0;
}

a:hover img{
	opacity: 0.7;
	-moz-opacity: 0.7;
	filter: alpha(opacity=70);
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.margin-right-1{
	margin: 0 0.5rem 0 0;
}

.margin-right-2{
	margin: 0 1.0rem 0 0;
}

.margin-right-3{
	margin: 0 2.0rem 0 0;
}

.margin-bottom-1{
	margin: 0 0 1.0rem 0;
}

.margin-bottom-2{
	margin: 0 0 2.0rem 0;
}

.margin-bottom-3{
	margin: 0 0 3.0rem 0;
}

.text12{
	font-size: 1.2rem;
}

.text14{
	font-size: 1.4rem;
}

.text16{
	font-size: 1.6rem;
}

.text-center {
	text-align: center !important;
}

.text-left {
	text-align: left !important;
}

.text-white {
	color: #fff;
}

p	{
	margin: 1.4em 0 1.4em 0;
	font-weight: 400;
}

/********** container **********/
#container {
	position: relative;
	width: 100%;
	min-height: 100%;
	margin: 0 auto;
}
	@media only screen and (max-width : 599px){
		#container {
			overflow: hidden;
		}
	}

#container::before,#container::after {
	position: absolute;
	top: 0;
	width: 40px;
	height: 100%;
	content: "";
	background-repeat: repeat-y;
	background-size: auto;
}
	@media only screen and (max-width : 649px){
		#container::before,#container::after {
			width: 20px;
		}
	}
	@media only screen and (max-width : 599px){
		#container::before,#container::after {
			width: 15px;
		}
	}

#container::before {
	left: 0;
	background-image: url(../img/bg_grid.svg);
}

#container::after {
	right: 0;
	background-image: url(../img/bg_grid.svg);
	transform: scale(-1, 1);
}

main {
	overflow: hidden;
	width: 100%;
	margin: 0 auto;
	padding: 0 0 30px;
	text-align: center;
	background-color: #fff;
}

/********** header **********/
header {
	position: relative;
	width: 100%;
	height: 900px;
	background-image: url("../img/header_bg_pc.jpg");
	background-repeat: repeat-x;
	background-size: cover;
	background-position: center top;
}
	@media only screen and (max-width : 999px){
		header {
			height: 540px;
		}
	}
	@media only screen and (max-width : 649px){
		header {
			height: 430px;
		}
	}
	@media only screen and (max-width : 599px){
		header {
			height: 68vh;
		}
	}
	@media only screen and (max-width : 499px){
		header {
			height: 58vh;
		}
	}
	@media only screen and (max-width : 375px){
		header {
			height: 58vh;
		}
	}


.page-message header {
	height: 370px;
}
	@media only screen and (max-width : 599px){
		.page-message header {
			height: 250px;
		}
	}


header::before {
	position: absolute;
	left: 0px;
	bottom: 0;
	width: 100%;
	height: 400px;
	content: "";
	opacity: 0.50;
	background-repeat: repeat-x;
	background-size: auto 100%;
	background-image: url(../img/header_bg_dot.svg);
}
	@media only screen and (max-width :999px){
		header::before {
			height: 300px;
		}
	}
	@media only screen and (max-width : 599px){
		header::before {
			height: 200px;
		}
	}


.page-message header::before {
	height: 250px;
}
	@media only screen and (max-width : 599px){
		.page-message header::before {
			height: 150px;
		}
	}

.header__inner {
	position: absolute;
	top: 30px;
	right: 0;
	left: 0;
	width: 90%;
	max-width: 1000px;
	min-height: 100%;
	margin: auto;
}

h1 {
	display:	block;
	overflow:	hidden;
	width: 100%;
	max-width: 1000px;
	height: auto;
	margin: 0 auto;
	aspect-ratio: 1200 / 600;
	background-image: url("../img/header_title_pc.png");
	background-repeat: no-repeat;
	background-size: cover;
	text-indent:	100%;
	white-space:	nowrap;
}
	@media only screen and (max-width : 999px){
		h1 {
			width: auto;
			height: 300px;
			margin: 0 auto;
		}
	}
	@media only screen and (max-width : 649px){
		h1 {
			width: auto;
			height: 280px;
		}
	}
	@media only screen and (max-width : 599px){
		h1 {
			width: 95%;
			height: auto;
			aspect-ratio: 1200 / 916;
			background-image: url("../img/header_title_sp.png");
		}
	}

.page-message h1 {
	max-width: 600px;
}
	@media only screen and (max-width : 599px){
		.page-message h1 {
			max-width: 250px;
		}
	}


h2.header__headline {
	display:	block;
	overflow:	hidden;
	width: 100%;
	max-width: 850px;
	height: auto;
	margin: 70px auto 0;
	aspect-ratio: 850 / 175;
	background-image: url("../img/headline_pc.svg");
	background-repeat: no-repeat;
	background-size: cover;
	text-indent:	100%;
	white-space:	nowrap;
}
	@media only screen and (max-width : 999px){
		h2.header__headline {
			width: auto;
			height: 120px;
			margin: 40px auto 0;
		}
	}
	@media only screen and (max-width : 649px){
		h2.header__headline {
			width: auto;
			height: 80px;
			margin: 20px auto 0;
		}
	}
	@media only screen and (max-width : 599px){
		h2.header__headline {
			width: 100%;
			height: auto;
			margin: 20px auto 0;
			aspect-ratio: 850 / 200;
			background-image: url("../img/headline_sp.svg");
		}
	}


/* ----- Gigya ----- */
#jme {
	width: 350px;
	margin: 50px auto;
	background: #fff;
}
	@media only screen and (max-width: 599px){
		#jme {
			width: 90%;
			margin: 30px auto;
		}
	}


/* ----- banner ----- */
.area-banner {
	margin: 70px auto;
	text-align: center;
	box-sizing: content-box;
}

@media only screen and (max-width: 599px){
	.area-banner {
		width: 100%;
		margin: 30px auto 40px;
	}
}

.area-banner__image {
	width: 250px;
	height: auto;
}
@media only screen and (max-width: 599px){
	.area-banner__image {
		width: 80%;
	}
}

/********** contents **********/
.area-contents {
	width: 100%;
	padding: 20px 0;
	margin: 0 auto 30px;
    z-index: 1;
}
@media only screen and (max-width: 599px){
	.area-contents {
		padding: 5px;
		margin: 0 auto;
	}
}

.area-contents__inner {
	width: calc(100% - 10px * 2);
	max-width: 900px;
	margin: 0 auto;
	padding: 20px 0;
}
	@media only screen and (max-width: 999px){
		.area-contents__inner {
			width: calc(100% - 60px * 2);
		}
	}

	@media only screen and (max-width: 599px){
		.area-contents__inner {
			width: calc(100% - 20px * 2);
			padding: 30px 0 20px;
		}
	}


/********** title - sub **********/
.title-sub__border {
	width: 100%;
	margin: 0 0 50px;
	padding: 20px;
	border-top: solid 10px #c30d23;
	border-bottom: solid 10px #c30d23;
}
	@media only screen and (max-width: 959px){
		.title-sub__border {
			margin: 0 0 30px;
			padding: 10px;
			border-top: solid 5px #c30d23;
			border-bottom: solid 5px #c30d23;
		}
	}

.title-sub-01 {
	width: auto;
	height: 120px;
}
	@media only screen and (max-width: 959px){
		.title-sub-01 {
			width: 80%;
			height: auto;
		}
	}

.title-sub-02 {
	width: 90%;
	height: auto;
	margin: 20px 0;
}

.title-sub-04 {
	width: auto;
	height: 80px;
}
	@media only screen and (max-width: 959px){
		.title-sub-04 {
			width: 100%;
			height: auto;
		}
	}

.title-sub-05 {
	width: auto;
	height: 60px;
}
	@media only screen and (max-width: 959px){
		.title-sub-05 {
			width: 100%;
			height: auto;
		}
	}


/********** guest **********/
.area-guest__list {
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px 20px;
	margin: 50px auto 20px;
}
	@media only screen and (max-width: 599px){
		.area-guest__list {
			gap: 20px 10px;
			margin: 30px auto 20px;
		}
	}

.area-guest__item {
	flex-basis: 48%;
}
	@media only screen and (max-width: 599px){
		.area-guest__item {
			flex-basis: 46%;
		}
	}

.area-guest__image {
	box-sizing: border-box;
	width: 100%;
	height: auto;
}

.area-guest__figcaption {

}

.area-guest__name {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.8rem;
	font-weight: 500;
}
@media only screen and (max-width: 599px){
	.area-guest__name {
		font-size: 1.4rem;
	}
}



/********** talk **********/
.area-contents-talk {
	width: calc(100% - 10px * 2);
	max-width: 900px;
	margin: 0 auto;
	padding: 20px 0;
	background: #c1272d;
	border: 10px solid #cfaf4e;
}
	@media only screen and (max-width: 999px){
		.area-contents-talk {
			width: calc(100% - 60px * 2);
		}
	}

	@media only screen and (max-width: 599px){
		.area-contents-talk {
			width: calc(100% - 20px * 2);
			padding: 10px 0;
			margin: 0 auto 30px;
		}
	}

.guest-talk {
	overflow: hidden;
	width: 100%;
	max-width: 400px;
	margin: auto;
	background-color: #c1272d;
}

.guest-talk__image {
	width: 100%;
	margin: auto;
	border: 5px solid #fff;
}
	@media only screen and (max-width: 599px){
		.guest-talk__image {
			width: 80%;
		}
	}

.guest-talk__item--name {
	padding: 1.4rem 0;
	font-size: 2.0rem;
	color: #fff;
}
	@media only screen and (max-width: 599px){
		.guest-talk__item--name {
			font-size: 1.4rem;
		}
	}


/********** gyakuden **********/
.area-contents-gyakuden {
	width: calc(100% - 10px * 2);
	max-width: 900px;
	margin: 0 auto;
	padding: 0 ;
	background: #dfba2e;
}
	@media only screen and (max-width: 999px){
		.area-contents-gyakuden {
			width: calc(100% - 60px * 2);
		}
	}

	@media only screen and (max-width: 599px){
		.area-contents-gyakuden {
			width: calc(100% - 20px * 2);
			padding: 10px 0;
		}
	}

.area-contents-gyakuden__bg {
	background-image: url(../img/bg_gyakuden.jpg);
	background-repeat: no-repeat;
	background-size: cover;
}

.area-contents-gyakuden__inner {
	padding: 10px 20px 50px;
}
	@media only screen and (max-width: 599px){
		.area-contents-gyakuden__inner {
			padding: 5px 20px 5px;
		}
	}

/********** one two **********/
/* ----- button ----- */
.area-message__button {
    width: 70%;
    min-width: 280px;
    margin: 50px auto 0;
}
	@media only screen and (max-width: 599px){
		.area-message__button {
			width: 90%;
			margin: 20px auto;
		}	
	}

a.area-message__button-link {
    display: block;
    overflow: hidden;
    position: relative;
    padding: 15px 20px 15px 15px;
    background: #c1272d;
    -moz-border-radius: 50px;
    -webkit-border-radius: 50px;
    border-radius: 50px;
    color: #fff;
	text-align:center;
	font-family: 'Noto Sans JP', sans-serif;
    font-size: 2.2rem;
    font-weight: 500;
	letter-spacing: 1px;
}
@media only screen and (max-width : 599px){
	a.area-message__button-link {
		margin: 20px auto 30px auto;
		padding: 10px 10px;
		font-size: 1.8rem;
		letter-spacing: 0;
	}
}

a.area-message__button-link:after {
    position: absolute;
    display: inline-block;
    width: 20px;
    height: 20px;
    top: 50%;
    right: 50px;
    content: '';
    border: 0;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: translateY(-50%) rotate(45deg);
    z-index: 5;
}
	@media only screen and (max-width : 599px){
		a.area-message__button-link:after {
			display: none;
		}
	}

a.area-message__button-link:hover {
    background: #d8494e;
}


/********** present **********/
.area-present__list {
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px 20px;
	margin: 50px auto 20px;
}
	@media only screen and (max-width: 599px){
		.area-present__list {
			gap: 20px 10px;
			margin: 30px auto 20px;
		}
	}

.area-present__item {
	flex-basis: 31%;
}
	@media only screen and (max-width: 599px){
		.area-present__item {
			flex-basis: 46%;
		}
	}

.area-present__image {
	box-sizing: border-box;
	width: 100%;
	height: auto;
}

.area-present__figcaption {

}

.area-present__name {
	padding: 1.0rem 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.2;
}
@media only screen and (max-width: 599px){
	.area-present__name {
		font-size: 1.4rem;
	}
}

/********** footer **********/
footer {
	bottom: 0;
	left: 0;
	width: 100%;
	margin: 0;
	padding: 0 0 180px;
}

.j-wave-credit{
	width: 100%;
}
	@media only screen and (max-width : 599px){
		.j-wave_credit{
			width: 100%;
			text-align: center;
		}
		
	}

.j-wave-credit__image {
	width: 200px;
	height: auto;
	margin: 0 0 10px;
}
	@media only screen and (max-width : 599px){
		.j-wave-credit__image {
			width: 60%;
			max-width: 400px;
		}
	}

.j-wave-credit__text{
	display: block;
	color: #343434;
	font-size: 10px;
}

@media (min-width: 600px) {
	a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	}
}