@charset "utf-8";

/* CSS INFORMATION -====================================================
File name : chart.css
Description :
===================================================================== */


/* =====================================================================
*    chart
* =================================================================== */

.chart {
	padding: calc(120 / 750 * 100%) 0 calc(320 / 750 * 100%);
}

.chart h2 {
	margin-bottom: calc(40 / 650 * 100%);
}

.chart_note {
	text-align: center;
	margin-bottom: calc(25 / 650 * 100%);
}

.chart_box {
	width: calc(726 / 650 * 100%);
	margin-left: calc(-38 / 650 * 100%);
}

.chart_id_01_inst {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: calc(70 / 1000* 100%);
	margin: calc(643 / 1000* 100%) 0 0 calc(475 / 1000* 100%);
}

.chart_btn {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.chart_btn li,
.chart_btn div {
	position: absolute;
	top: 0;
	left: 0;
}

.chart_btn_img {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

.chart_btn_frame {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}

.text-combine {
	-webkit-text-combine: horizontal;
	-ms-text-combine-horizontal: all;
	text-combine-upright: all;
}

.chart_id_01 {
	width: calc(270 / 1000* 100%);
	padding-top: calc(270 / 1000* 100%);
	margin: calc(423 / 1000* 100%) 0 0 calc(263 / 1000* 100%);
}

.chart_id_02 {
	width: calc(220 / 1000* 100%);
	padding-top: calc(220 / 1000* 100%);
	margin: calc(473 / 1000* 100%) 0 0 calc(571 / 1000* 100%);
}

.chart_id_03 {
	width: calc(220 / 1000* 100%);
	padding-top: calc(220 / 1000* 100%);
	margin: calc(899 / 1000 * 100%) 0 0 calc(45 / 1000 * 100%);
}

.chart_id_04 {
	width: calc(170 / 1000* 100%);
	padding-top: calc(170 / 1000* 100%);
	margin: calc(97 / 1000* 100%) 0 0 calc(299 / 1000* 100%);
}

.chart_id_05 {
	width: calc(170 / 1000* 100%);
	padding-top: calc(170 / 1000* 100%);
	margin: calc(466 / 1000* 100%) 0 0 calc(41 / 1000* 100%);
}

.chart_id_06 {
	width: calc(150 / 1000* 100%);
	padding-top: calc(150 / 1000* 100%);
	margin: calc(721 / 1000* 100%) 0 0 calc(380 / 1000* 100%);
}

.chart_id_07 {
	width: calc(220 / 1000* 100%);
	padding-top: calc(220 / 1000* 100%);
	margin: calc(97 / 1000 * 100%) 0 0 calc(24 / 1000 * 100%);
}

.chart_id_08 {
	width: calc(220 / 1000* 100%);
	padding-top: calc(220 / 1000* 100%);
	margin: calc(1150 / 1000 * 100%) 0 0 calc(45 / 1000* 100%);
}

.chart_id_09 {
	width: calc(220 / 1000* 100%);
	padding-top: calc(220 / 1000* 100%);
	margin: calc(1149 / 1000 * 100%) 0 0 calc(305 / 1000* 100%);
}

.chart_id_10 {
	width: calc(150 / 1000* 100%);
	padding-top: calc(150 / 1000* 100%);
	margin: calc(97 / 1000 * 100%) 0 0 calc(803 / 1000* 100%);
}

.chart_id_11 {
	width: calc(150 / 1000* 100%);
	padding-top: calc(150 / 1000* 100%);
	margin: calc(270 / 1000 * 100%) 0 0 calc(803 / 1000* 100%);
}

.chart_id_12 {
	width: calc(170 / 1000* 100%);
	padding-top: calc(170 / 1000* 100%);
	margin: calc(1189 / 1000 * 100%) 0 0 calc(712 / 1000* 100%);
}

.chart_id_13 {
	width: calc(140 / 1000* 100%);
	padding-top: calc(140 / 1000* 100%);
	margin: calc(1009 / 1000 * 100%) 0 0 calc(641 / 1000* 100%);
}

.chart_id_14 {
	width: calc(140 / 1000* 100%);
	padding-top: calc(140 / 1000* 100%);
	margin: calc(1009 / 1000 * 100%) 0 0 calc(807 / 1000* 100%);
}

.chart_id_15 {
	width: calc(150 / 1000* 100%);
	padding-top: calc(150 / 1000* 100%);
	margin: calc(97 / 1000 * 100%) 0 0 calc(491 / 1000* 100%);
}

.chart_id_16 {
	width: calc(140 / 1000* 100%);
	padding-top: calc(140 / 1000* 100%);
	margin: calc(665 / 1000 * 100%) 0 0 calc(56 / 1000* 100%);
}

.chart_id_17 {
	width: calc(140 / 1000* 100%);
	padding-top: calc(140 / 1000* 100%);
	margin: calc(752 / 1000 * 100%) 0 0 calc(808 / 1000* 100%);
}

.chart_id_18 {
	width: calc(140 / 1000* 100%);
	padding-top: calc(140 / 1000* 100%);
	margin: calc(947 / 1000 * 100%) 0 0 calc(385 / 1000* 100%);
}


@media screen and (min-width:768px) {

	.chart {
		padding: calc(100 / 1200 * 100%) 0 calc(130 / 1200 * 100%);
	}

	.chart_box {
		width: calc(900 / 1000 * 100%);
		margin: 0 auto;
	}

	.chart_btn li {
		cursor: pointer;
	}

}

@media screen and (min-width:1200px) {
	.chart {
		padding: 100px 0 130px;
	}


}


/* =====================================================================
*    popup
* =================================================================== */
.popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 100;
	display: none;
}

.popup_bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: rgba(162, 150, 99, 0.9);
}

.popup_area {
	width: 100%;
	height: 100%;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
}

.popup_inner {
	width: calc(630 / 750 * 100%);
	margin: calc(150 / 750 * 100%) auto;
	padding: 0;
}

.popup_close {
	position: absolute;
	top: 0;
	right: 0;
	width: calc(90 / 630 * 100%);
	margin: calc(-50 / 630 * 100%) calc(-50 / 630 * 100%) 0 0;
	z-index: 110;
	border-radius: 50%;
	border: .8em solid #272727;
	background-color: #272727;
}

.popup_close::before,
.popup_close::after {
	content: "";
	display: block;
	width: 1px;
	padding-top: 100%;
	background-color: #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	margin: 0 auto;
}

.popup_close::after {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.popup_list {
	width: 100%;
	height: 100%;
}

.popup_details {
	display: none;
	background: url(../images/common/bg_main.jpg) repeat center/calc(250 / 630 * 100%) auto;
	overflow: hidden;
	padding: calc(104 / 630 * 100%) calc(45 / 630 * 100%);
}

.popup_details::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: url(../images/deco/bg_deco4.png) no-repeat center/contain;
	width: calc(324 / 630 * 100%);
	padding-top: calc(113 / 630 * 100%);
	margin: calc(39 / 630 * 100%) 0 0 calc(-60 / 630 * 100%);
}

.popup_details_inner {}

.chart_photo {
	width: calc(465 / 540 * 100%);
	margin: 0 auto calc(20 / 540 * 100%);
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-align-items: flex-start;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.chart_photo img {
	width: calc(400 / 465 * 100%);
}

.chart_photo figcaption {
	background-color: #271c19;
	color: #fff;
	font-size: 3.4rem;
	font-family: 'Noto Serif JP', serif;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	padding: .6em .5em .6em .38em;
	line-height: 1;
	letter-spacing: .1rem;
}

.chart1_insta {
	position: absolute;
	bottom: 0;
	right: 0;
	width: calc(100 / 540 * 100%);
	margin: 0 calc(70 / 540 * 100%) calc(160 / 540 * 100%) 0;
	z-index: 2;
}

.chart_name {
	width: calc(328 / 540 * 100%);
	text-align: center;
	margin: 0 auto calc(30 / 540 * 100%);
	padding: calc(12 / 540 * 100%) 0;
	border-right: 5px solid #000;
	border-left: 5px solid #000;
}

.chart_name::before,
.chart_name::after {
	content: '';
	position: absolute;
	left: 0;
	margin-left: -6%;
	width: 112%;
	height: 5px;
	background-color: #000;
	z-index: 2;
}

.chart_name::before {
	top: 0;
	margin-top: calc(8 / 750 * 100vw);
}

.chart_name::after {
	bottom: 0;
	margin-bottom: calc(8 / 750 * 100vw);
}

.chart_name1 {
	display: block;
	background-color: #e7dc28;
	font-family: 'Noto Serif JP', serif;
	font-size: 3.8rem;
	font-weight: 700;
	padding-top: .5em;
}

.chart_name1::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 85%;
	margin: auto;
	height: 1px;
	background-color: #b1ab53;
}

.chart_name1 ruby {}

.chart_name1 rt {
	font-family: 'Noto Sans JP', sans-serif;
	text-align: center;
	color: #b1ab53;
}

/*Chrome対策*/
@media screen and (-webkit-min-device-pixel-ratio:0) {
	.chart_name1 rt {
		-webkit-transform: translateY(.5rem);
		transform: translateY(.5rem);
	}
}

/*FireFox対策*/
@-moz-document url-prefix() {
	.chart_name1 rt {
		margin-bottom: -.5rem;
	}
}

.chart_name2 {
	background-color: #e7dc28;
	color: #5c4e33;
	font-size: 2.4rem;
	padding-bottom: .5em;
}

.chart_txt {
	font-size: 2.6rem;
}


@media screen and (min-width: 768px) {
	.popup_bg {
		cursor: pointer;
	}

	.popup_area {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}

	.popup_inner {
		width: calc(1000 / 1200 * 100%);
		max-width: 1000px;
		margin: auto;
		padding: calc(60 / 1200 * 100%) 0 0;
		-ms-flex-item-align: start;
		align-self: flex-start;
	}

	.popup_close {
		cursor: pointer;
		width: calc(64 / 1000 * 100%);
		margin: calc(30 / 1000 * 100%) calc(-30 / 1000 * 100%) 0 0;
		-webkit-transition: 0.2s ease;
		transition: 0.2s ease;
	}

	.popup_close:hover {
		background-color: #e7dc28;
		border-color: #e7dc28;
	}

	.popup_close::before,
	.popup_close::after {
		-webkit-transition: 0.2s ease;
		transition: 0.2s ease;
	}

	.popup_details {
		background-size: calc(250 / 1000 * 100%) auto;
		padding: calc(70 / 1000 * 100%) calc(60 / 1000 * 100%) calc(50 / 1000 * 100%);
	}

	.popup_details::before {
		width: calc(324 / 1000 * 100%);
		padding-top: calc(113 / 1000 * 100%);
		margin: calc(15 / 1000 * 100%) 0 0 calc(-95 / 1000 * 100%);
	}

	.popup_details_inner {
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}

	.chart_details {
		width: calc(322 / 880 * 100%);
	}

	.chart_photo {
		width: 100%;
		margin: 0 0 calc(30 / 322 * 100%);
	}

	.chart_photo img {
		width: calc(280 / 322 * 100%);
	}

	.chart_photo figcaption {
		font-size: 2.3rem;
	}

	.chart1_insta {
		width: calc(60/ 322 * 100%);
		margin: 0 calc(30 / 322 * 100%) calc(120 / 322 * 100%) 0;
	}

	.chart_name {
		width: calc(226 / 322 * 100%);
		margin: 0 0 0 calc(30 / 322 * 100%);
		padding: calc(7 / 322 * 100%) 0;
		border-width: calc(7 / 1200 * 100vw);
	}

	.chart_name::before,
	.chart_name::after {
		height: calc(7 / 1200 * 100vw);
	}

	.chart_name::before {
		margin-top: calc(7 / 322 * 100%);
	}

	.chart_name::after {
		margin-bottom: calc(7 / 322 * 100%);
	}

	.chart_name1 {
		font-size: 2.6rem;
	}

	.chart_name2 {
		font-size: 1.6rem;
	}

	.chart_txt {
		width: calc(510 / 880 * 100%);
		font-size: 1.6rem;
		line-height: 2;
	}
}

@media screen and (min-width: 1200px) {
	.popup_inner {
		padding: 60px 0 0;
	}

	.chart_name {
		border-width: 7px;
	}

	.chart_name::before,
	.chart_name::after {
		height: 7px;
	}
}
