@charset "utf-8";
.comfortable_section {
		background: #fff;
}
.comfortable_inner {
		max-width: 840px;
		margin: 0 auto 80px;
		padding: 0 20px;
}
.comfortable_lead {
		font-size: 28px;
		line-height: 1.8;
		margin-bottom: 30px;
		font-weight: 500;
}
.comfortable_lead span.sup {
		font-size: 50%;
		vertical-align: 0.75em;
		letter-spacing: 0
}
.comfortable_section .eggshock_flex_sb_flex {
		margin-bottom: 20px;
}
.comfortable_section .eggshock_flex_sb {
		margin-bottom: 25px;
}
.comfortable_figure-2 {
		max-width: 815px;
		margin: 0 auto 80px;
}
.comfortable_figure-2 img {
		width: 100%;
		height: auto;
}
.comfortable_figure-2 .in {
		margin-bottom: 20px;
}
.comfortable_figure-2 .notes {
		text-align: right;
		letter-spacing: 0.05em;
}
@media(max-width: 767px) {
		.comfortable_lead {
				font-size: 20px;
		}
		.comfortable_lead span.small {
				display: inline-block;
				font-size: 15px;
				line-height: 1;
				letter-spacing: 0.3em
		}
		.comfortable_figure-2 {
				margin-bottom: 60px;
		}
		.comfortable_figure-2 .notes {
				text-align: left;
		}
}
/* ========== */
.comfortable_column {
		max-width: 1020px;
		margin: 0 auto;
		padding: 0 30px;
}
.comfortable_column_inner {
		background: #EFEFEF;
		padding: 70px 80px;
}
.comfortable_column_flex {
		display: flex;
}
.comfortable_column_inner h4 {
		font-size: 28px;
		font-weight: 500;
		line-height: 1.8;
		margin-bottom: 30px;
}
.comfortable_column_inner p {
		line-height: 2.0;
}
.comfortable_column_inner p strong {
		font-size: 115%;
		font-weight: 500;
		display: inline-block;
		position: relative;
		margin-right: 3px;
		margin-bottom: 3px;
}
.comfortable_column_inner p strong::after {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 3px;
		background-repeat: repeat-x;
		background-position: 0 0;
		background-size: 7px;
		background-image: url("../images/comfortable_column_line.png")
}
.comfortable_author {
		width: 140px;
		margin-left: 30px;
}
.comfortable_photo {
		width: 140px;
		margin: 0 0 10px;
}
.comfortable_photo img {
		width: 100%;
		height: auto;
}
.comfortable_author p {
		font-size: 12px !important;
		line-height: 1.6;
		letter-spacing: 0;
}
.comfortable_column_flex .in {
		flex: 1
}
@media(max-width: 1200px) {
		.comfortable_column_inner {
				padding: 40px;
		}
		.comfortable_column_inner h4 {
				font-size: 22px;
		}
}
@media(max-width: 960px) {
		.comfortable_column_inner {
				padding: 35px;
		}
		.comfortable_column_inner h4 {
				font-size: 22px;
				margin-bottom: 20px;
		}
		.comfortable_column_flex .in p br {
				display: none
		}
}
@media(max-width: 767px) {
		.comfortable_column {
				padding: 0 20px;
		}
		.comfortable_column_inner {
				background: #EFEFEF;
				padding: 35px 20px;
		}
		.comfortable_column_flex {
				display: block;
		}
		.comfortable_column_inner h4 {
				font-size: 17px;
				margin-bottom: 30px;
		}
		.comfortable_column_flex .in p {
				font-size: 14px;
				letter-spacing: 0.08em
		}
		.comfortable_author {
				width: auto;
				display: flex;
				align-items: center;
				margin: 25px 0 0;
		}
		.comfortable_photo {
				width: 100px;
				margin: 0 15px 0 0;
		}
		.comfortable_author p {
				line-height: 1.6;
				font-size: 12px;
				flex: 1
		}
}
/* ========== */
.kaiteki_section {
		background: #EFEFEF;
}
.kaiteki_line {
		position: relative;
}
.kaiteki_line::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 10;
		width: 100%;
		height: 1200px;
		pointer-events: none;
		background-repeat: no-repeat;
		background-position: center 0;
		background-size: 3000px;
		background-image: url("../images/kaiteki_line_pc.png")
}
.kaiteki_catch {
		font-size: 30px;
		font-weight: 500;
		line-height: 1.6;
		text-align: center;
		margin-bottom: 60px;
}
.kaiteki_main {
		max-width: 1440px;
		margin: 0 auto 120px;
		display: flex;
		align-items: center;
}
.kaiteki_main_figure {
		width: 780px;
		margin-right: 70px;
}
.kaiteki_main_figure img {
		width: 100%;
		height: auto;
}
.kaiteki_main_caption {
		flex: 1
}
.kaiteki_main_caption p:not(.notes) {
		font-size: 18px;
		line-height: 1.8;
		margin: 0 0 20px;
}
.kaiteki_mark_flex {
		display: flex;
		width: 430px;
		list-style: none;
		justify-content: space-between;
		margin-bottom: 35px;
}
.kaiteki_mark_flex li {
		width: 130px;
}
.kaiteki_mark_flex li img {
		width: 100%;
		height: auto;
		border-radius: 50%;
}
.kaiteki_main_catch {
		font-size: 28px;
		font-weight: 500;
		line-height: 1.8;
		margin: 0 0 30px;
}
.kaiteki_mid {
		max-width: 840px;
		margin: 0 auto 250px;
		display: flex;
		align-items: center;
}
.kaiteki_flex {
		max-width: 930px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		padding: 0 30px;
}
.kaiteki_flex_item {
		width: 263px;
}
.kaiteki_mid_figure {
		width: 420px;
		margin-left: 65px;
}
.kaiteki_mid_figure img {
		width: 100%;
		height: auto;
}
.kaiteki_mid_caption {
		flex: 1;
		position: relative;
		display: flex;
		justify-content: flex-end;
}
.kaiteki_mid_caption::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 107px);
		right: 0;
		width: 118px;
		height: 215px;
		background-repeat: no-repeat;
		background-position: right center;
		background-size: 118px;
		background-image: url("../images/kaiteki_mid_caption_bg_pc.png");
}
.kaiteki_mid_caption p {
		font-size: 24px;
		font-weight: 500;
		line-height: 1.8;
		margin-right: 0.5em;
}
.kaiteki_flex_item_thumb {
		margin-bottom: 15px;
}
.kaiteki_flex_item_thumb img {
		width: 100%;
		height: auto;
}
.kaiteki_flex_item_hd {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 70px;
		margin-bottom: 15px;
}
.kaiteki_flex_item_caption h5 {
		text-align: center;
		font-size: 22px;
		font-weight: 500;
		line-height: 1.6;
}
.kaiteki_flex_item_caption p:not(.notes) {
		font-size: 18px;
		line-height: 1.8;
		text-align: center;
		margin: 0 0 15px
}
@media(max-width: 1440px) {
		.kaiteki_line::after {
				width: 100%;
				height: 85vw;
				background-position: 0 0;
				background-size: 100%;
				background-image: url("../images/kaiteki_line_mid.png")
		}
		.kaiteki_catch {
				font-size: 30px;
				margin-bottom: 60px;
		}
		.kaiteki_main {
				margin: 0 auto 8vw;
		}
		.kaiteki_main .eggshock_flex_sb {
				margin-bottom: 15px;
		}
		.kaiteki_main_figure {
				width: 54.1vw;
				margin-right: 4.8vw;
		}
		.kaiteki_main_caption p:not(.notes) {
				font-size: 18px;
				margin: 0 0 15px;
		}
		.kaiteki_mark_flex {
				width: 28vw;
				margin-bottom: 15px;
		}
		.kaiteki_mark_flex li {
				width: calc(calc(100% - 40px) / 3);
		}
		.kaiteki_main_catch {
				font-size: 22px;
				margin: 0 0 20px;
		}
		.kaiteki_section .eggshock_flex_sb_flex {
				margin-bottom: 15px;
		}
		.kaiteki_mid {
				max-width: 840px;
				margin: 0 auto 250px;
				display: flex;
				align-items: center;
		}
		.kaiteki_flex_item {
				width: calc(calc(100% - 60px) / 3);
		}
		.kaiteki_mid_figure {
				width: 29vw;
				margin-left: 65px;
		}
		.kaiteki_mid_figure img {
				width: 100%;
				height: auto;
		}
		.kaiteki_mid_caption {
				flex: 1;
				position: relative;
				display: flex;
				justify-content: flex-end;
		}
		.kaiteki_mid_caption p {
				font-size: 20px;
		}
		.kaiteki_flex_item_thumb {
				margin-bottom: 15px;
		}
		.kaiteki_flex_item_hd {
				height: 60px;
				margin-bottom: 10px;
		}
		.kaiteki_flex_item_caption h5 {
				font-size: 18px;
		}
		.kaiteki_flex_item_caption p:not(.notes) {
				font-size: 16px;
				margin: 0 0 15px
		}
}
@media(max-width: 960px) {
		.kaiteki_main_catch {
				font-size: 18px;
				margin: 0 0 15px;
		}
		.eggshock_flex_sb_new {
				width: 70px;
		}
		.kaiteki_main_caption p:not(.notes) {
				font-size: 16px;
				margin: 0 0 10px;
		}
		.kaiteki_mark_flex li {
				width: calc(calc(100% - 20px) / 3);
		}
		.kaiteki_mid {
				max-width: 600px;
				margin: 0 auto 17vw;
		}
		.kaiteki_mid_caption p {
				font-size: 18px;
		}
		.kaiteki_mid_caption::before {
				top: calc(50% - 90px);
				width: 100px;
				height: 182px;
				background-size: 100px;
		}
}
@media(max-width: 767px) {
		.kaiteki_catch {
				font-size: 18px;
				margin: 0 0 30px;
		}
		.kaiteki_line::after {
				width: 100%;
				height: 260vw;
				background-image: url("../images/kaiteki_line_sp.png")
		}
		.kaiteki_main {
				width: 100%;
				display: block;
				margin: 0 auto 20vw;
		}
		.kaiteki_main_figure {
				width: 100%;
				margin: 0 0 10vw;
		}
		.kaiteki_main_caption {
				padding-left: 25px;
				position: relative;
				z-index: 10
		}
		.kaiteki_main_catch {
				font-size: 18px;
		}
		.eggshock_flex_sb {
				font-size: 15px;
		}
		.kaiteki_mark_flex {
				display: flex;
				justify-content: space-between;
				align-items: center;
				width: 73vw;
				margin-left: 0;
				margin-right: 0;
		}
		.kaiteki_mark_flex li {
				width: calc(calc(100% - 10px) / 3);
		}
		.kaiteki_mid {
				display: block;
				width: 58vw;
				margin-left: auto;
				margin-right: auto;
				margin-bottom: 29vw;
		}
		.kaiteki_mid_caption {
				display: flex;
				justify-content: center;
				margin: 0 0 10px;
		}
		.kaiteki_mid_caption::before {
				top: inherit;
				bottom: 0;
				width: 100%;
				height: 80px;
				background-repeat: no-repeat;
				background-position: center bottom;
				background-size: 100%;
				background-image: url("../images/kaiteki_mid_caption_bg_sp.png")
		}
		.kaiteki_mid_caption p {
				font-size: 14px;
				margin: 0;
		}
		.kaiteki_mid_figure {
				width: 100%;
				margin: 0
		}
		.kaiteki_flex {
				display: block;
				padding: 0 25px;
		}
		.kaiteki_flex_item {
				margin: 0 0 15px;
				width: 100%;
		}
		.kaiteki_flex_item.second {
				margin-bottom: 40px !important;
		}
		.kaiteki_flex_item.first + .spObj {
				margin-bottom: 40px;
		}
		.kaiteki_flex .kaiteki_flex_item:nth-child(odd) {
				display: flex;
				flex-direction: row-reverse;
				align-items: flex-start;
		}
		.kaiteki_flex .kaiteki_flex_item.first {
				display: flex;
				flex-direction: row !important;
				align-items: flex-start;
		}
		.kaiteki_flex .kaiteki_flex_item:nth-child(even) {
				display: flex;
				align-items: flex-start;
		}
		.kaiteki_flex_item_thumb {
				width: 37vw;
				margin-bottom: 0
		}
		.kaiteki_flex .kaiteki_flex_item:nth-child(odd) .kaiteki_flex_item_thumb {
				margin-left: 15px;
		}
		.kaiteki_flex .kaiteki_flex_item:nth-child(even) .kaiteki_flex_item_thumb {
				margin-right: 15px;
		}
		.kaiteki_flex .kaiteki_flex_item.first .kaiteki_flex_item_thumb {
				margin-left: 0 !important;
				margin-right: 15px !important;
		}
		.kaiteki_flex_item_caption {
				flex: 1;
				text-align: left;
		}
		.kaiteki_flex_item_hd {
				display: block;
				height: auto;
				text-align: left;
				margin-bottom: 5px;
		}
		.kaiteki_flex_item_caption h5 {
				text-align: left;
				font-size: 17px;
				margin: 0;
		}
		.kaiteki_flex_item_caption p:not(.notes) {
				font-size: 14px;
				margin: 0 0 10px;
				text-align: left;
		}
		.alignC {
				display: flex;
				justify-content: flex-start;
		}
}
/* ========== */
/* ==== ONLY ==== */
.only_hd_wrap {
		max-width: 880px;
		margin: 0 auto 130px;
		position: relative;
		padding: 0 30px;
}
.only_hd_wrap::after {
		content: '';
		display: block;
		position: absolute;
		top: 34px;
		right: 30px;
		width: 180px;
		height: 182px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 180px;
		background-image: url("../images/only-0-icon_pc.png")
}
.only_hd {
		max-width: 650px;
		position: relative;
}
.only_hd img, .only_flex_figure img, .only_flex_sb img {
		width: 100%;
		height: auto
}
.only_line {
		position: relative;
}
.only_line::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 1500px;
		background-repeat: no-repeat;
		background-position: center top;
		background-size: 3000px;
		background-image: url("../images/only_line_pc.png");
		z-index: 5;
		pointer-events: none
}
@media(max-width: 1440px) {
		.only_line::after {
				background-size: 100%;
				background-image: url("../images/only_line_mid.png");
		}
}
.only_flex {
		max-width: 1400px;
		margin: 0 auto;
		display: flex;
		align-items: center;
}
.only_flex.first {
		margin-bottom: -70px;
		display: flex;
		align-items: center;
}
.only_flex.second {
		margin-bottom: 100px;
}
.only_flex_figure {
		width: 680px;
		position: relative;
}
.only_flex_figure::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 300px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
		pointer-events: none;
		z-index: 10
}
.only_flex_figure.only-1_figure::after {
		background-image: url("../images/only-1_plus_pc.png")
}
.only_flex_figure.only-2_figure::after {
		background-image: url("../images/only-2_plus_pc.png")
}
.only_flex_caption {
		flex: 1
}
.first .only_flex_caption .in {
		position: relative;
		top: -40px;
}
.only_flex_sb {
		width: 420px;
		margin: 0 auto 40px;
}
.only_flex_gallery {
		width: 420px;
		margin: 0 auto;
}
.only_flex_gallery img {
		width: 100%;
		height: auto
}
.w1040 {
		max-width: 1040px;
		margin: 0 auto;
		padding: 0 20px;
}
@media(max-width: 1450px) {
		.only_hd_wrap {
				margin: 0 auto 10vw;
		}
		.only_hd_wrap::after {
				top: 34px;
				right: 60px;
				width: 180px;
				height: 182px;
				background-repeat: no-repeat;
				background-position: 0 0;
				background-size: 180px;
				background-image: url("../images/only-0-icon_pc.png")
		}
		.only_flex_figure {
				width: 50vw;
		}
		.only_flex.first {
				margin-bottom: -4.8vw;
		}
		.first .only_flex_caption .in {
				top: -2.4vw;
		}
		.only_flex_sb {
				width: 29vw;
				margin: 0 auto 20px;
		}
		.only_flex_gallery {
				width: 29vw;
		}
}
@media(max-width: 767px) {
		.only_line::after {
				display: none
		}
		.simple_section .section_hdr.reverse {
				margin-bottom: 60px;
		}
		.only_hd_wrap {
				margin: 0 auto 80px;
		}
		.only_hd {
				width: 64vw;
				margin-left: auto;
				margin-right: auto;
		}
		.only_hd_wrap::after {
				display: none
		}
		.only_flex.first {
				display: block;
				margin: 0;
		}
		.only_flex.second {
				display: block;
				margin-bottom: 40px;
		}
		.only_flex_figure {
				width: 100%;
		}
		.only_flex_sb {
				width: 64vw;
				margin: 0 auto 15px;
		}
		.only_flex.first .only_flex_gallery, .only_flex.second .only_flex_gallery {
				width: 64vw;
		}
		.only_flex.first .only_flex_caption {
				background-repeat: no-repeat;
				background-position: 0 0;
				background-size: 100%;
				background-image: url("../images/only_line_sp-1.png?260907");
				width: 100%;
				display: flex;
				display: block;
				height: 77.333vw
		}
		.first .only_flex_caption .in {
				top: 7vw;
		}
		.second .only_flex_caption .in {
				top: 17vw;
				position: relative;
		}
		.only_flex.second .only_flex_caption {
				height: 97.9vw;
				position: relative;
				z-index: 9
		}
		.only_flex.second .only_flex_caption::after {
				content: '';
				display: block;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 125vw;
				background-repeat: no-repeat;
				background-position: 0 0;
				background-size: 100%;
				background-image: url("../images/only_line_sp-2_long.png");
				pointer-events: none;
				z-index: 9
		}
		.only_flex_figure::after {
				width: 100%;
		}
		.only_flex_figure.only-1_figure::after {
				background-image: url("../images/only-1_plus_sp.png");
				top: 0;
		}
		.only_flex_figure.only-2_figure::after {
				background-image: url("../images/only-2_plus_sp.png");
				top: -8vw
		}
}