@charset "UTF-8";
#u18 { display: flex; justify-content: space-between; }
#u18 [id^="link"]:nth-child(n+2) { margin-top: 4em; }
#u18 #link01 .sec01 .subTitle02 { margin-top: 2em; }
#u18 #link01 .sec01__01 p { font-size: 1.1em; padding-left: 1em; }
#u18 #link01 .sec01__01 p .fBold { font-size: 1.2em; }
#u18 #link01 .sec01__01 p .js-marker { display: inline; position: relative; background-image: linear-gradient(90deg, yellow, yellow); background-repeat: no-repeat; background-position: bottom left; background-size: 0 40%; transition: background 1s ease-in-out; font-weight: normal; }
#u18 #link01 .sec01__01 p .js-marker.inview { background-size: 100% 40%; }
#u18 #link01 .sec01__02 { margin-top: 2em; display: block; text-align: center; }
#u18 #link01 .sec01__02__01 { display: inline-block; border: 2px solid #0A97E3; background: #fff; padding: 1em 2em; border-radius: 0.5em; }
#u18 #link01 .sec01__02__01 p { font-size: 1.1em; text-align: left; }
#u18 #link01 .sec02 { margin-top: 2em; }
#u18 #link01 .sec02 ul { list-style: disc; margin-left: 1.5em; }
#u18 #link01 .sec03 { margin-top: 2em; }
#u18 #link01 .sec03 p { text-align: center; font-size: 1.1em; font-weight: 700; }
#u18 #link01 .sec03 p a { display: inline-block; background: #E30380; padding: 1em 2em; color: #fff; text-decoration: none; border-radius: 3em; }
@media only screen and (max-width: 576px) { #u18 #link01 .sec03 p a { padding: 1em; } }
#u18 #link01 .sec03 p a:hover { background: #fc048e; }
ul.icon { margin-top: 0.5em; display: flex; flex-wrap: wrap; }
ul.icon li { font-size: 0.85em; margin-top: 0.5em; margin-right: 0.5em; }
ul.icon li:last-child { margin-right: 0; }
ul.icon li.insta a::before { content: ""; font-family: engekisai; font-size: 0.9em; font-weight: normal !important; display: inline-block; color: #fff; padding-right: 0.5em; }
ul.icon li.web a::before { content: ""; font-family: engekisai; font-size: 0.9em; font-weight: normal !important; display: inline-block; color: #fff; padding-right: 0.5em; }
ul.icon li a { background: #E30380; color: #fff; display: inline-block; text-decoration: none; padding: 0.25em 1.5em; border-radius: 3em; }
ul.icon li a:hover { background: #fc1d99; }
#u18 #link03 .sec02 { margin-top: 2em; }
#u18 #link03 .sec02 .subTitle05 { margin-top: 1em; }
#u18 #link03 .sec02 .subTitle05 a { color: #0569ff; }
#u18 #link03 .sec03 { margin-top: 2em; }
#u18 #link03 .sec03__01 { margin-top: 1em; }
#u18 #link03 .sec03__01 .sizeL { font-size: 1.3em; font-weight: bold; vertical-align: top; }
#u18 #link03 .sec03__01 .sizeM { font-size: 1.2em; font-weight: bold; vertical-align: top; }
#u18 #link03 .sec03__01 .secDay { background: rgba(10, 151, 227, 0.4); padding: 0.75em 2em; border-radius: 1.5em 1.5em 0 0; }
#u18 #link03 .sec03__01 .secDay h2 { color: #E30A7E; }
#u18 #link03 .sec03__01 .secDay p { font-weight: bold; }
#u18 #link03 .sec03__01 .subTitle06 { font-size: 1em; }
#u18 #link03 .sec03__01 .timeline { margin-top: 0.5em; margin-bottom: 0.5em; }
#u18 #link03 .sec03__01 .timeline > li { overflow: hidden; margin: 0; position: relative; display: flex; }
#u18 #link03 .sec03__01 .timeline > li .timeline-date { width: 4.5em; margin-top: 0.5em; text-align: right; padding-right: 2em; font-weight: bold; }
@media only screen and (max-width: 576px) { #u18 #link03 .sec03__01 .timeline > li .timeline-date { padding-right: 1em; } }
#u18 #link03 .sec03__01 .timeline > li .timeline-content { width: calc(100% - 4.5em); float: left; border-left: 1px solid #666; padding-top: 0.5em; padding-left: 2em; }
@media only screen and (max-width: 576px) { #u18 #link03 .sec03__01 .timeline > li .timeline-content { padding-left: 1em; } }
#u18 #link03 .sec03__01 .timeline > li .timeline-content::before { content: ''; width: 13px; height: 13px; background: #E30380; position: absolute; left: calc(4.5em - 6px); top: 1em; border-radius: 50%; }
#u18 #link03 .sec03__01 .timeline > li .timeline-content .sec01 { display: flex; justify-content: space-between; }
@media only screen and (max-width: 576px) { #u18 #link03 .sec03__01 .timeline > li .timeline-content .sec01 { display: inherit; } }
#u18 #link03 .sec03__01 .timeline > li .timeline-content a { color: #E30380; }
#u18 #link03 .sec03__01 .timeline > li .timeline-content figure { margin-top: 0.5em; margin-left: 1em; min-width: 17em; width: 17em; }
@media only screen and (max-width: 1540px) { #u18 #link03 .sec03__01 .timeline > li .timeline-content figure { min-width: 16em; width: 16em; } }
@media only screen and (max-width: 1280px) { #u18 #link03 .sec03__01 .timeline > li .timeline-content figure { max-width: 15em; width: 15em; } }
@media only screen and (max-width: 1024px) { #u18 #link03 .sec03__01 .timeline > li .timeline-content figure { min-width: 14em; width: 14em; } }
@media only screen and (max-width: 768px) { #u18 #link03 .sec03__01 .timeline > li .timeline-content figure { min-width: 13em; width: 13em; } }
@media only screen and (max-width: 576px) { #u18 #link03 .sec03__01 .timeline > li .timeline-content figure { min-width: 100%; width: 100%; margin-left: 0; } }
#u18 #link04 .sec01 + .sec01 { margin-top: 3em; }
#u18 #link04 .sec01 .photoWrap { margin-top: 2em; display: grid; grid-template-columns: repeat(auto-fit, minmax(12em, 1fr)); grid-gap: 0.5em; }
@media only screen and (max-width: 768px) { #u18 #link04 .sec01 .photoWrap { grid-template-columns: repeat(auto-fit, minmax(7em, 1fr)); } }
#u18 #link04 .sec01 .photoWrap .photo { position: relative; }
#u18 #link04 .sec01 .photoWrap .photo::before { content: ""; display: block; padding-top: 100%; /* 高さを幅の75%に固定 */ }
#u18 #link04 .sec01 .photoWrap .photo section { position: absolute; top: 0; left: 0; bottom: 0; right: 0; }
#u18 #link04 .sec01 .photoWrap .photo section img { object-fit: cover; height: 100%; width: 100%; border: 1px solid #ccc; }
.fancybox__caption { background: #fff; padding: 0.75em 1em; margin-top: 1em; color: #333; }
.fancybox__caption h3 { font-size: 0.95em; }
@media only screen and (max-width: 576px) { .fancybox__caption h3 { font-size: 0.9em; } }
.fancybox__caption p { font-size: 0.9em; }
@media only screen and (max-width: 576px) { .fancybox__caption p { font-size: 0.85em; } }
.fancybox__caption p a { color: #0569ff; }
#u18 #link04 .sec02 { margin-top: 3em; }
#u18 #link04 .sec03 { margin-top: 2em; border: 2px solid #774db2; padding: 1em 2em; border-radius: 0.5em; }
@media only screen and (max-width: 576px) { #u18 #link04 .sec03 { padding: 1em 1.5em; } }
#u18 #link04 .sec03 p { font-weight: 500; }
