@charset "utf-8";

#contents_area,
.modal {
	--c-green: #96e6c8;
	--c-green2: #64d2b4;
	--c-yellow: #f3d981;
	--c-pink: #f0c8d2;
	--c-purple: #7264ac;
	--c-orange: #ce5b5f;
	--c-text: #1e2832;
	--c-text-red: #c00;
	--font-family-normal: 'HondaGlobalFontJP-Regular', sans-serif;
	--font-family-bold: 'HondaGlobalFontJP-Bold', sans-serif;
	--font-family-light:  'HondaGlobalFontJP-Light', sans-serif;

	color: var(--c-text);
	font-size: calc(16 / 393 * 100vw);
	line-height: 1.5;
	font-family: var(--font-family-normal);
	font-feature-settings: 'palt' 1;
}

#contents_area {
	position: relative;
	z-index: 0;
}

#contents_area .bold,
.modal .bold {
	font-weight: normal;
	font-family: var(--font-family-bold);
}

#contents_area .light,
.modal .light {
	font-weight: normal;
	font-family: var(--font-family-light);
}

#contents_area .font_normal,
.modal .font_normal {
	font-weight: normal;
	font-family: var(--font-family-normal);
}

.section {
	position: relative;
	z-index: 1;
	background: #fff;
}
.section img {
	display: block;
	width: 100%;
}
.section sup {
	vertical-align: top;
	font-size: 75%;
}
.section a {
	transition: .3s opacity;
}
.section a:hover {
	opacity: .7;
}

.section .anc {
	position: absolute;
}

.section h2 {
	position: relative;
}

.section .btn {
	display: block;
	position: relative;
	width: calc(320 / 393 * 100%);
	margin-left: calc(27 / 393 * 100%);
	transition: none;
}
.section .btn::after {
	content: '';
	position: absolute;
	right: calc(-21.5 / 320 * 100%);
	top: 0;
	z-index: 1;
	width: calc(42.5 / 320 * 100%);
	height: 100%;
	background: url(../img/btn_arrow.svg) 0 50% / 100% no-repeat;
	transition: .3s transform;
}
.section .btn:hover {
	opacity: 1;
}
.section .btn:hover::after {
	transform: translateX(5px);
}

.section_inner {
	position: relative;
	z-index: 1;
}

#contents_main {
	position: relative;
	z-index: 1;
}
#contents_main::before,
#contents_main::after {
	content: '';
	position: absolute;
	top: calc(-11 / 393 * 100vw);
	bottom: 0;
	z-index: 10;
	width: calc(10 / 393 * 100%);
	background: 0 0 / cover no-repeat;
}
#contents_main::before {
	left: 0;
	background-image: url(../img/frame_l.png);
}
#contents_main::after {
	right: 0;
	background-image: url(../img/frame_r.png);
}

#contents_nav {
	background: none;
}

.cp_close {
	overflow: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 10;
	padding-top: calc(75 / 375 * 100%);
	background: rgba(0,0,0,.7);
	text-align: center;
	letter-spacing: .04em;
	color: #fff;
	font-size: calc(18 / 393 * 100vw);
	line-height: calc(40 / 18);
}
.cp_close p+p {
	margin-top: 1em;
}

.cp_close .title {
	margin-bottom: calc(24 / 393 * 100%);
	padding: 0 calc(8 / 22 * 1em);
	letter-spacing: .04em;
	font-size: calc(22 / 393 * 100vw);
	line-height: calc(50 / 22);
	border: solid;
	border-width: 1px 0;
}
.cp_close .title+p {
	margin-top: 0;
}


/* ----------------------------------------
	section_title
---------------------------------------- */

#section_title {
	padding-bottom: calc(160 / 393 * 100%);
}
#section_title h1 {
	margin-top: calc(53 / 393 * 100%);
}

#section_title .menu {
	display: flex;
	position: absolute;
	left: calc(103 / 393 * 100%);
	width: 100%;
	margin-top: calc(-339 / 393 * 100%);
}
#section_title .menu li {
	width: calc(197 / 393 * 100%);
}
#section_title .menu a {
	display: block;
	position: relative;
}
#section_title .menu a::after {
	content: '';
	position: absolute;
	left: calc(53 / 137 * 100%);
	bottom: calc(-19.5 / 147 * 100%);
	z-index: 1;
	width: calc(29 / 137 * 100%);
	height: calc(39 / 147 * 100%);
	background: url(../img/btn_cp_arrow.svg) 50% 50% / contain no-repeat;
	transition: .3s transform;
}
#section_title .menu a:hover{
	opacity: 1;
}
#section_title .menu a:hover::after {
	transform: translateY(5px);
}

#section_title .project {
	margin-top: calc(-92 / 393 * 100%);
	text-align: center;
}
#section_title .project p {
	line-height: 2;
}

#section_title .project .title {
	padding-bottom: calc(25 / 393 * 100%);
	background: var(--c-green);
}
#section_title .project .title img {
	width: calc(286 / 393 * 100%);
	margin: auto;
}

#section_title .project .copy {
	margin-top: calc(29 / 393 * 100%);
	font-size: calc(27 / 393 * 100vw);
}

#section_title .project .icon {
	display: inline-block;
	width: calc(21.5 / 393 * 100%);
	margin-left: calc(7 / 393 * 100%);
}

#section_title .project .copy+p {
	margin-top: calc(22 / 393 * 100%);
}
#section_title .project .copy+p+p {
	margin-top: 2em;
}


/* ----------------------------------------
	section_ev
---------------------------------------- */

#section_ev {
	padding: calc(93 / 393 * 100%) 0 calc(222 / 393 * 100%);
	background: url(../img/ev_bg_foot.png) 0 100% / 100% no-repeat var(--c-yellow);
}

#section_ev .anc {
	margin-top: calc(-30 / 393 * 100%);
}

#section_ev h2 {
	position: absolute;
	top: 0;
	margin-top: calc(-160 / 393 * 100%);
}

#section_ev .heading {
	text-align: center;
	font-size: calc(18 / 393 * 100vw);
	line-height: calc(28 / 18);
}

#section_ev .message {
	width: calc(306 / 393 * 100%);
	margin: calc(16 / 393 * 100%) auto 0;
}

#section_ev .section_inner {
	position: relative;
	z-index: 1;
	padding-top: calc(36 / 393 * 100%);
}
#section_ev .section_inner::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 0;
	z-index: 1;
	margin-left: -1px;
	border-left: 2px dotted #fff;
}

#section_ev ul {
	position: relative;
	z-index: 1;
	width: calc(306 / 393 * 100%);
	margin: auto;
}
#section_ev li+li {
	margin-top: calc(50 / 306 * 100%);
}
#section_ev h3 {
	position: relative;
	padding-top: calc(45 / 306 * 100%);
}
#section_ev h3 img {
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 0;
	width: auto;
	transform: translateX(-50%);
}
#section_ev li a {
	display: block;
	margin-top: calc(12 / 306 * 100%);
	box-shadow: 1px 4px 10px 4px rgba(0, 0, 0, .25);
}
#section_ev li a+a {
	margin-top: calc(32 / 306 * 100%);
}

#section_ev .btn {
	position: relative;
	z-index: 1;
	margin-top: calc(53 / 306 * 100%);
}


/* ----------------------------------------
	section_cp_x
---------------------------------------- */

#section_cp_x {
	padding-top: calc(196 / 393 * 100%);
}
#section_cp_x::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	z-index: 1;
	margin-top: calc(142 / 393 * 100%);
	padding-top: calc((1148 + 111) / 393 * 100%);
	background: url(../img/cp_x_bg_dot.svg) 0 0 / calc(6 / 393 * 100%);
}

#section_cp_x h2 {
	position: absolute;
	top: 0;
	z-index: 1;
	margin-top: calc(-133 / 393 * 100%);
}

#section_cp_x .heading,
#section_cp_x .heading+.btn,
#section_cp_x .prize,
#section_cp_x .outline {
	position: relative;
	z-index: 1;
}
#section_cp_x .heading {
	width: calc(344 / 393 * 100%);
	margin-left: calc(28 / 393 * 100%);
}

#section_cp_x .heading+.btn {
	margin-top: calc(30 / 393 * 100%);
}

#section_cp_x .cp_close {
	bottom: auto;
	margin-top: calc(-10 / 393 * 100%);
	padding: calc(180 / 393 * 100%) 0;
}

#section_cp_x .prize {
	margin-top: calc(77 / 393 * 100%);
}
#section_cp_x .prize>p {
	width: calc(157 / 393 * 100%);
	margin: auto;
	background: #fff;
	text-align: center;
	font-size: calc(18 / 393 * 100vw);
	line-height: calc(24 / 18);
}
#section_cp_x .prize ol {
	width: calc(272 / 393 * 100%);
	margin: calc(50 / 393 * 100%) auto 0;
}
#section_cp_x .prize li {
	position: relative;
	padding-top: calc(90 / 272 * 100%);
	margin-top: calc(60 / 272 * 100%);
	background: #fff;
}
#section_cp_x .prize li img {
	position: absolute;
	left: 50%;
	top: calc(-20 / 90 * 100%);
	width: auto;
	height: calc(104 / 90 * 100%);
	transform: translateX(-50%);
}

#section_cp_x .outline {
	margin-top: calc(90 / 393 * 100%);
	text-align: center;
}
#section_cp_x .outline::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	z-index: 1;
	margin-top: calc(-50 / 393 * 100%);
	padding-top: calc(91 / 393 * 100%);
	background: linear-gradient(0deg, rgba(255,255,255,1), rgba(255,255,255,0));
}
#section_cp_x .outline h3 {
	position: relative;
	z-index: 1;
	width: calc(200 / 393 * 100%);
	margin: auto;
}
#section_cp_x .outline p {
	margin-top: calc(26 / 393 * 100%);
	line-height: calc(28 / 16);
}
#section_cp_x .outline h3+p {
	margin-top: calc(21 / 393 * 100%);
	font-size: calc(20 / 393 * 100vw);
	line-height: calc(34 / 20);
}

/* section_moyamoya
---------------------------------------- */

#section_moyamoya {
	margin-top: -1px;
	padding: 1px 0 calc(160 / 393 * 100%);
	background: url(../img/moyamoya_bg_foot.svg) 0 100% / 100% no-repeat var(--c-pink);
}

#section_moyamoya h2+p {
	margin-top: calc(36 / 393 * 100%);
	text-align: center;
	line-height: calc(28 / 16);
}

#section_moyamoya .weekday {
	margin-top: calc(50 / 393 * 100%);
}

#section_moyamoya h3 img {
	width: auto;
	height: calc(34 / 393 * 100vw);
	margin: auto;
}

.moyamoya_list {
	width: calc(340 / 393 * 100%);
	margin: calc(108 / 393 * 100%) auto 0;
}
.moyamoya_list li {
	position: relative;
	margin-top: calc(131 / 340 * 100%);
	padding-bottom: calc(30 / 393 * 100%);
	background: #fff;
	color: var(--c-purple);
}
.moyamoya_list li:first-child {
	margin-top: 0;
}
.moyamoya_list h4 {
	position: relative;
	padding: calc(11 / 22 * 1em) 0 calc(5 / 22 * 1em) 0;
	background: var(--c-green);
	text-align: center;
	font-size: calc(22 / 393 * 100vw);
	line-height: calc(28 / 22);
}

.moyamoya_list h4 .num {
	position: absolute;
	left: calc(125 / 340 * 100%);
	top: 0;
	width: calc(90 / 340 * 100%);
	margin-top: calc(-65 / 340 * 100%);
}

.moyamoya_list p {
	margin-top: calc(12 / 340 * 100%);
	padding: 0 calc(18 / 340 * 100%);
	font-size: calc(14 / 393 * 100vw);
	line-height: calc(18 / 14);
}
.moyamoya_list strong {
	display: block;
	text-decoration: underline;
	margin-bottom: calc(6 / 15 * 1em);
	font-size: calc(15 / 14 * 100%);
	line-height: calc(25 / 15);
}

.moyamoya_list .solution {
	display: none;
}

.moyamoya_list .btn {
	position: absolute;
	left: 0;
	bottom: 0;
	box-shadow: 0 6px 0 var(--c-green2);
	width: calc(262 / 340 * 100%);
	margin: 0 0 calc(-18 / 340 * 100%) calc(28 / 340 * 100%);
	border-radius: 1.2em;
	background: #5e4da8;
	text-align: center;
	color: #fff;
	font-size: calc(18 / 393 * 100vw);
	line-height: calc(37 / 18);
}
.moyamoya_list .btn::after {
	right: calc(-26 / 262 * 100%);
	width: calc(42.5 / 262 * 100%);
}

#section_moyamoya .holiday {
	margin-top: calc(125 / 393 * 100%);
}

#section_moyamoya .holiday .moyamoya_list li {
	color: var(--c-orange);
}

#section_moyamoya .apply {
	margin-top: calc(107 / 393 * 100%);
	text-align: center;
	color: var(--c-purple);
}

/* cp_x_howto
---------------------------------------- */

#cp_x_howto {
	padding-top: calc(17 / 393 * 100%);
}

#cp_x_howto .anc {
	margin-top: calc(17 / 393 * 100%);
}

#cp_x_howto h3 {
	width: calc(200 / 393 * 100%);
	margin: auto;
}

#cp_x_howto .steps {
	margin-top: calc(45 / 393 * 100%);
}
#cp_x_howto .steps li+li {
	position: relative;
	margin-top: calc(22 / 393 * 100%);
	padding-top: calc(58 / 393 * 100%);
}
#cp_x_howto .steps li+li::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	z-index: 1;
	padding-top: calc(41 / 393 * 100%);
	background: url(../img/cp_x_howto_arrow.svg) 50% 0 / contain no-repeat;
}

#cp_x_howto .steps h4 {
	text-align: center;
	font-size: calc(18 / 393 * 100vw);
	line-height: calc(28 / 18);
}

#cp_x_howto .steps .num {
	width: calc(143 / 393 * 100%);
	margin: 0 auto calc(15 / 393 * 100%);
}

#cp_x_howto .btn_follow {
	display: block;
	width: calc(277 / 393 * 100%);
	margin: calc(15 / 393 * 100%) auto 0;
	border-radius: 1.6em;
	background: var(--c-text);
	text-align: center;
	color: #fff;
	line-height: calc(50 / 16);
}

#cp_x_howto .note {
	font-size: calc(14 / 393 * 100vw);
	line-height: calc(18 / 14);
}
#cp_x_howto .note span {
	display: inline-block;
	margin-top: .5em;
	color: var(--c-text-red);
}

#cp_x_howto .step01 .note {
	margin: calc(30 / 393 * 100%) calc(30 / 393 * 100%) 0;
}

#cp_x_howto .step02 p {
	text-align: center;
	margin-top: calc(20 / 393 * 100%);
}

#cp_x_howto .step03 .note {
	margin: calc(17 / 393 * 100%) calc(30 / 393 * 100%) 0;
}

/* cp_x_terms
---------------------------------------- */

#cp_x_terms {
	padding: calc(72 / 393 * 100%) 0 calc(27 / 393 * 100%);
}
#cp_x_terms h3 {
	width: calc(200 / 393 * 100%);
	margin: auto;
}

#cp_x_terms .section_inner {
	overflow: auto;
	box-sizing: border-box;
	width: calc(315 / 393 * 100%);
	height: calc(250 / 393 * 100vw);
	padding: calc(18 / 393 * 100%) calc(16 / 393 * 100%);
	margin: calc(24 / 393 * 100%) auto 0;
	border: 1px solid;
	word-break: break-all;
	font-size: calc(14 / 393 * 100vw);
	line-height: calc(20 / 14);
	font-family: var(--font-family-light);
}
#cp_x_terms .section_inner h4,
#cp_x_terms .section_inner h5{
	margin-top: calc(20 / 14 * 1em);
	font: inherit;
}
#cp_x_terms .section_inner h4:first-child {
	margin-top: 0;
}

#cp_x_terms .indent {
	padding-left: 1em;
}


/* ----------------------------------------
	section_cp_democar
---------------------------------------- */

#section_cp_democar {
	padding-bottom: calc(98 / 393 * 100%);
	background: var(--c-green);
}

#section_cp_democar .anc {
	margin-top: calc(140 / 393 * 100%);
}

#section_cp_democar h2 {
	position: relative;
}
#section_cp_democar h2::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: -12px;
	height: 22px;
	z-index: 1;
	background: #fff;
}

#section_cp_democar .heading {
	width: calc(345 / 393 * 100%);
	margin: calc(50 / 393 * 100%) auto 0;
}

#section_cp_democar .heading+.btn {
	width: calc(137 / 393 * 100%);
	margin: calc(27 / 393 * 100%) auto 0;
}
#section_cp_democar .heading+.btn::after {
	left: calc(46 / 137 * 100%);
	right: auto;
	width: calc(39 / 137 * 100%);
	height: auto;
	margin-top: calc(113 / 137 * 100%);
	padding-top: calc(29 / 137 * 100%);
	background-image: url(../img/btn_arrow_short.svg);
}

#section_cp_democar .cp_close {
	margin: calc(320 / 393 * 100%) 0 calc(75 / 393 * 100%);
}


/* ----------------------------------------
	section_bnr
---------------------------------------- */

#section_bnr {
	margin-top: calc(-15 / 393 * 100%);
	padding-bottom: calc(45 / 393 * 100%);
}
/* #section_bnr::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 100%;
	z-index: 1;
	margin-top: calc(-57 / 393 * 100%);
	padding-top: calc(57 / 393 * 100%);
	background: url(../img/bnr_bg.svg) 0 100% / 100% no-repeat;
} */
#section_bnr a {
	display: block;
	box-sizing: border-box;
	margin: auto;
}

#section_bnr .website p {
	margin-bottom: calc(14 / 393 * 100%);
	text-align: center;
	font-size: calc(14 / 393 * 100vw);
	line-height: calc(20 / 14);
}
#section_bnr .website a {
	width: calc(293 / 393 * 100%);
	border: .5px solid #000;
}


/* ----------------------------------------
	Footer
---------------------------------------- */

#l-action-router {
	position: relative;
	z-index: 1;
}


/* ----------------------------------------
	Modal
---------------------------------------- */

.modal_open {
	overflow: hidden;
}

.modal_open .l-auto-header,
.modal_open .l-auto-local-header,
.modal_open .btn_pagetop {
	z-index: 9;
}
.modal_open .l-auto-header {
	position: relative;
}

.modal {
	visibility: hidden;
	opacity: 0;
	overflow-x: hidden;
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 10;
	background: rgba(0,0,0,.6);
	transition: .5s;
	transition-property: visibility, opacity;
	text-align: center;
	white-space: nowrap;
}

.modal.open {
	visibility: visible;
	opacity: 1;
}

.modal::after,
.modal>div {
	display: inline-block;
	vertical-align: middle;
}
.modal::after {
	content: '';
	height: 100%;
}
.modal>div {
	position: relative;
	white-space: normal;
}

/* ev_modal
---------------------------------------- */

#ev_modal {
	padding: 0 min(30px, 30 / 750 * 100vw);
}

#ev_modal_contents {
	width: 100%;
	max-width: 800px;
	margin-top: calc(53 / 393 * 100vw);
}

#ev_modal_close {
	position: absolute;
	right: 0;
	bottom: 100%;
	width: calc(50 / 393 * 100vw);
	height: calc(53 / 393 * 100vw);
	background: #fff;
	transition: none;
	cursor: pointer;
}
#ev_modal_close::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 1;
	background: url(../img/moyamoya_solution_btn_close.svg) 50% 50% / contain no-repeat;
	transition: .3s opacity;
}
#ev_modal_close:hover {
	opacity: 1;
}
#ev_modal_close:hover::after {
	opacity: .7;
}

/* moyamoya_solution_modal
---------------------------------------- */

#moyamoya_solution_modal>div {
	box-sizing: border-box;
	width: calc(370 / 393 * 100%);
	margin-top: calc(89 / 393 * 100vw);
	padding: calc(15 / 393 * 100%) calc(15 / 393 * 100%) calc(53/ 393 * 100%);
	background: #fff;
}

#moyamoya_solution {
	background: var(--c-green2);
}
#moyamoya_solution p {
	padding: calc(15 / 340 * 100%);
	text-align: left;
	font-size: calc(14 / 393 * 100vw);
	line-height: calc(18 / 14);
}
#moyamoya_solution small {
	display: block;
	margin-top: calc(6 / 340 * 100%);
	font-size: calc(12 / 14 * 100%);
	line-height: calc(14 / 12);
}

#moyamoya_solution .no_br {
	display: inline-block;
}

#moyamoya_solution .title {
	position: relative;
	padding: calc(11 / 340 * 100%) 0 calc(5 / 340 * 100%);
	background: #8b7bce;
	text-align: center;
	color: #fff;
	font-size: calc(22 / 393 * 100vw);
	line-height: calc(28 / 22);
}

[data-type='holiday'] #moyamoya_solution .title {
	background: var(--c-orange);
}

#moyamoya_solution .title .num {
	position: absolute;
	left: 50%;
	top: 0;
	width: calc(112 / 340 * 100%);
	margin-top: calc(-104 / 340 * 100%);
	transform: translateX(-50%);
}

#moyamoya_solution_modal .btn {
	margin: calc(57 / 340 * 100%) 0 0 calc(4 / 340 * 100%);
	width: calc(320 / 340 * 100%);
}

#moyamoya_solution_modal .modal_close_link {
	display: inline-block;
	margin-top: calc(15 / 340 * 100%);
	text-align: center;
	text-decoration: underline;
	color: inherit;
}

#moyamoya_solution_modal .car {
	margin-top: calc(38 / 340 * 100%);
	padding-top: calc(33 / 340 * 100%);
	border-top: 1px solid #a8a8a8;
	text-align: center;
}

#moyamoya_solution_modal .car .link {
	width: calc(277 / 340 * 100%);
	margin: auto;
}
#moyamoya_solution_modal .car .link li {
	margin-top: calc(13 / 277 * 100%);
}
#moyamoya_solution_modal .car .link a {
	display: block;
	border-radius: 1.6em;
	background: var(--c-text);
	color: #fff;
	line-height: calc(50 / 16);
}

#moyamoya_solution_close {
	position: absolute;
	right: 0;
	bottom: 100%;
	width: calc(50 / 370 * 100%);
	background: #fff;
	transition: none;
	cursor: pointer;
}
#moyamoya_solution_close img {
	transition: .3s opacity;
}
#moyamoya_solution_close:hover {
	opacity: 1;
}
#moyamoya_solution_close:hover img {
	opacity: .7;
}



/* ++++++++++++++++++++++++++++++++++++++++

	Media Query

++++++++++++++++++++++++++++++++++++++++ */

@media print, screen and (min-width : 769px){
	#contents_area,
	#moyamoya_solution_modal {
		font-size: 16px;
	}
	#contents_area {
		--fixAdjust: max(0px, 212px + 48px - 50vh);

		background: #e1e6e6;
	}

	.section .anc {
		top: -48px;
	}

	#contents_main {
		width: 393px;
		margin: auto;
		font-size: 16px;
		box-shadow: 0 4px 9px rgba(0, 0, 0, .25);
	}
	#contents_main::before,
	#contents_main::after {
		top: -136px;
	}
	
	.cp_close {
		font-size: 18px;
	}

	.cp_close .title {
		font-size: 22px;
	}

	#section_outside {
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		z-index: 0;
		padding-top: 149px;
		background: none;
	}
	#section_outside::before {
		content: '';
		position: fixed;
		left: min(0px, 50% - 720px);
		right: 0;
		top: min(50%, 624px);
		z-index: 2;
		margin-top: -598px;
		width: 1230px;
		height: 1914px;
		background: url(../img/outer_bg_pc.svg) 0 0 no-repeat;
	}

	#section_outside .project {
		--w: min(282 / 980 * 100%, 412px);

		position: fixed;
		left: min(55px, 50% - 197px - var(--w));
		top: 50%;
		z-index: 2;
		box-sizing: border-box;
		width: var(--w);
		padding-right: min(10 / 980 * 100%, 10px);
		transform: translateY(-50%);
	}

	#contents_nav {
		position: fixed;
		right: min(0px, 50% - 620px);
		top: min(50%, 624px);
		z-index: 0;
		width: 492px;
		margin-top: -475px;
	}
	#contents_nav>div {
		box-sizing: border-box;
		width: 100%;
		height: 1053px;
		padding: 348px 0 0 86px;
		background: url(../img/nav_bg_pc.png) 0 0 no-repeat;
	}

	#contents_nav ul {
		width: 325px;
		border-top: 1px solid;
		transform: translateY(var(--fixAdjust));
	}
	#contents_nav li {
		border-bottom: 1px solid;
	}
	#contents_nav li a {
		display: block;
		padding: 18px 8px;
		color: inherit;
	}
	#contents_nav li img {
		width: 192px;
		margin-bottom: 10px;
	}
	#contents_nav li span {
		display: block;
		position: relative;
		margin-left: 3px;
		padding-left: 31px;
		font-size: 14px;
		line-height: calc(20 / 14);
	}
	#contents_nav li span::before {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		width: 22px;
		background: url(../img/nav_arrow.svg) 0% 50% no-repeat;
	}

	#section_title h1 {
		margin-top: -72px;
	}

	#section_title .project .copy {
		font-size: 27px;
	}

	#section_ev .heading {
		font-size: 18px;
	}

	#section_cp_x .prize>p {
		font-size: 18px;
	}

	#section_cp_x .outline h3+p {
		font-size: 20px;
	}

	#section_moyamoya h3 img {
		height: 34px;
	}

	.moyamoya_list h4 {
		font-size: 22px;
	}
	.moyamoya_list p {
		font-size: 14px;
	}

	.moyamoya_list .btn {
		font-size: 18px;
	}

	#ev_modal_contents {
		margin-top: 53px;
	}

	#ev_modal_close {
		width: 50px;
		height: 53px;
	}

	#moyamoya_solution_modal>div {
		width: 370px;
		margin-top: 89px;
		padding: 15px 15px 53px;
	}

	#moyamoya_solution .title {
		font-size: 22px;
	}

	#moyamoya_solution figure+p {
		font-size: 14px;
	}

	#cp_x_howto .steps h4 {
		font-size: 18px;
	}

	#cp_x_howto .note {
		font-size: 14px;
	}

	#cp_x_terms .section_inner {
		height: 250px;
		font-size: 14px;
	}

	#section_bnr .website p {
		font-size: 14px;
	}
}

@media print, screen and (max-width : 768px){
	#contents_area .pc {
		display: none !important;
	}

	.section .anc {
		top: calc(-55px - 125 / 393 * 100vw);
	}

	#contents_nav {
		position: absolute;
		left: 0;
		right: 0;
		z-index: 2;
		top: 0;
	}
	#contents_nav>div {
		box-sizing: border-box;
		width: 100%;
		height: calc(125 / 393 * 100vw);
		padding: calc(12 / 393 * 100vw) calc(33 / 393 * 100vw) 0 0;
		background: url(../img/nav_bg_sp.png) 0 100% / cover no-repeat;
	}

	#contents_nav.is-fixed>div {
		position: fixed;
		top: 55px;
	}

	#contents_nav ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
	}
	#contents_nav li {
		width: calc(143 / 393 * 100vw);
		margin-bottom: calc(12 / 393 * 100vw);
	}
	#contents_nav li:first-child {
		margin-right: calc(45 / 393 * 100vw);
	}
	#contents_nav li a {
		display: block;
		position: relative;
	}
	#contents_nav li a::after {
		content: '';
		position: absolute;
		right: calc(-12 / 393 * 100vw);
		top: 0;
		bottom: 0;
		width: calc(18 / 393 * 100vw);
		background: url(../img/nav_arrow.svg) 0 50% / 100% no-repeat;
	}
}