@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');
/* ========================================================================

  future16

======================================================================== */
:root {
--bg-gradient:linear-gradient(90deg,rgba(139, 232, 177, 1) 0%, rgba(103, 184, 206, 1) 100%);
--main-color:#d85288;
--noto-sans: "Noto Sans JP", sans-serif;
--noto-serif: "Noto Serif JP", serif;
--Shippori-Mincho: "Shippori Mincho", serif;
} 
.sp-only { display:none; }
/* ============ smart phone ============ */
@media (max-width:750px){
.sp-only { display:initial; }
.pc-only { display:none; }
}
/************************************************************************
  header
************************************************************************/
header { background-color:transparent; position:absolute; }
/************************************************************************
  #fv
************************************************************************/
#fv { margin:0 0 min(calc(140/1920*100vw), 140px); width:100%; height:calc(1203/1920*100vw); background:url('img/fv.png') no-repeat top center; background-size:auto 100%; text-align:center; position:relative; }
#fv h2 { text-align:right; font-weight:400; font-family:var(--Shippori-Mincho); font-size:min(calc(86/1920*100vw), 86px); writing-mode:vertical-rl; font-feature-settings:initial; position:absolute; right:0; }
#fv h2 div { position:relative; }
#fv h2 small { padding-top:0.2em; font-weight:600; font-size:min(calc(38/1920*100vw), 38px); display:block; }
#fv h2 span { margin:0 auto; width:min(calc(135/1920*100vw), 135px); height:min(calc(135/1920*100vw), 135px); background-color:#009cea; color:#ffffff; border-radius:50%; font-size:min(calc(30/1920*100vw), 30px); display:flex; justify-content:center; align-items:center; font-weight:700; font-family:var(--noto-sans); writing-mode:horizontal-tb; position:absolute; right:0; left:0; bottom:min(calc(-135/1920*100vw), -135px); }
/* ============ for high resolution ============ */
@media only screen and (-webkit-min-device-pixel-ratio:2){
#fv { background-image:url('img/fv@2x.png'); }
}
/* ============ smart phone ============ */
@media (max-width:750px){
#fv { margin-bottom:calc(80/750*100vw); height:calc(916/750*100vw); background-image:url('img/fv_sp.png'); }
#fv h2 { margin:0; text-align:left; font-size:calc(70/750*100vw); position:absolute; top:0; right:calc(75/750*100vw); }
#fv h2 div { width:calc(103/750*100vw); display:flex; justify-content:space-between; align-items:center; }
#fv h2 small { font-size:calc(30/750*100vw); }
#fv h2 span { width:calc(103/750*100vw); height:calc(103/750*100vw); font-size:calc(22/750*100vw); position:static; }
/* ============ for high resolution ============ */
@media only screen and (-webkit-min-device-pixel-ratio:2){
#fv { background-image:url('img/fv_sp@2x.png'); }
}
}
/************************************************************************
  p.lead
************************************************************************/
main p.lead { margin-bottom:1.5em; color:#3f3f3f; text-align:center; line-height:calc(42/24); font-weight:500; font-size:min(calc(24/1920*100vw), 24px); }
/* ============ smart phone ============ */
@media (max-width:750px){
main p.lead { margin:0 calc(45/750*100vw) 1.5em; line-height:calc(50/30); /*text-align:left;*/ text-align: justify; text-justify: inter-ideograph; 
/* Edge */
line-break: strict;
word-break: break-word;
overflow-wrap: break-word;
word-wrap: break-word; font-size:calc(30/750*100vw); }
main p.lead br { display:none; }
}
/************************************************************************
  #contents
************************************************************************/
#contents { margin-top:-50px; padding-top:50px; display:block; }
/************************************************************************
  .contents
************************************************************************/
.contents { padding:0; background:none; background-image:none; max-width:initial; max-inline-size:none; aspect-ratio:initial; display:block; }
.contents::before,
.contents::after { display:none; }
/* ============ smart phone ============ */
@media (max-width:750px){
.contents { margin-right:calc(30/750*100vw); margin-left:calc(30/750*100vw); width:auto; }
}
/************************************************************************
  main
************************************************************************/
main hr { display:none; }
main p.img { font-size:0; }
main p.txt { line-height:calc(28/15); font-family:var(--noto-sans); font-size:min(calc(15/1920*100vw), 15px); }
main .flex { margin-right:auto; margin-left:auto; display:flex; }
/* ============ smart phone ============ */
@media (max-width:750px){
main { overflow:hidden; }
main p.txt { line-height:calc(38/25); font-size:calc(25/750*100vw); }
main .flex { flex-direction:column; }
}
/************************************************************************
  .bg
************************************************************************/
.bg { margin-bottom:min(calc(115/1920*100vw), 115px); padding:min(calc(145/1920*100vw), 145px) 0 min(calc(245/1920*100vw), 245px);  background:url('img/bg.jpg') no-repeat #9bcfea; background-size:100% auto; }
/* ============ for high resolution ============ */
@media only screen and (-webkit-min-device-pixel-ratio:2){
.bg { background-image:url('img/bg@2x.jpg'); }
}
/* ============ smart phone ============ */
@media (max-width:750px){
.bg { padding:calc(215/750*100vw) 0 calc(600/750*100vw); }
}
/************************************************************************
  #profile
************************************************************************/
#profile { margin:auto auto min(calc(250/1920*100vw), 250px); padding:min(calc(45/1920*100vw), 45px); width:min(calc(920/1920*100vw), 920px); min-height:min(calc(415/1920*100vw), 415px); background-color:#ffffff; border-radius:min(calc(10/1920*100vw), 10px); box-shadow:3px 3px 2px 0px rgba(0,0,0,0.3); position:relative; cursor:pointer; transition:0.5s; }
#profile:hover { transform:translate(0, 5px); }
#profile::after { content:''; width:min(calc(381/1920*100vw), 381px); height:min(calc(385/1920*100vw), 385px);  background:url('img/profile.png') no-repeat; background-size:100% auto; display:block; position:absolute; bottom:0; right:min(calc(5/1920*100vw), 5px); transition:0.5s; }
#profile.bg-none::after { background-image:none; }
#profile .text { order:2; }
/* ul */
#profile ul { order:1; margin:0; padding:0; list-style:none; display:flex; }
#profile ul li { margin-right:min(calc(10/1920*100vw), 10px); }
#profile ul li:nth-child(1) { width:min(calc(299/1920*100vw), 299px); }
#profile ul li:nth-child(2) { width:min(calc(199/1920*100vw), 199px); }
#profile h3 { padding-left:0.4em; font-family:var(--Shippori-Mincho); font-size:min(calc(58/1920*100vw), 58px); }
#profile h3 small { font-size:min(calc(30/1920*100vw), 30px); }
#profile p.txt { margin:0; font-size:min(calc(30/1920*100vw), 30px); }
/* .show */
#profile .show { opacity:0; transition:0.5s; display:flex; flex-direction:column; justify-content:space-between;  }
#profile .show.active { opacity:1; }
/* .hidden */
#profile .hidden { padding:min(calc(90/1920*100vw), 90px) min(calc(45/1920*100vw), 45px) min(calc(45/1920*100vw), 45px); width:min(calc(920/1920*100vw), 920px); min-height:min(calc(415/1920*100vw), 415px); background-color:#5e97bf; color:#ffffff; border-radius:min(calc(10/1920*100vw), 10px); /*box-shadow:3px 3px 2px 0px rgba(0,0,0,0.3);*/ opacity:0; pointer-events:none; position:absolute; top:0; left:0; transition:0.5s; }
#profile .hidden.active { opacity:1; } 
#profile .hidden h3 { margin-bottom:1.5em; line-height:1; text-align:center; font-family:var(--noto-sans); font-weight:700; font-size:min(calc(30/1920*100vw), 30px); display:flex; justify-content:center; align-items:center; }
#profile .hidden h3::before,
#profile .hidden h3::after { content:''; width:calc((100% - 9em) / 2); height:1px; background-color:#ffffff; display:inline-block; }
#profile .hidden h3::before { margin-right:1em; }
#profile .hidden h3::after { margin-left:1em; }
#profile .hidden p.txt { margin:0; line-height:calc(40/20); font-size:min(calc(20/1920*100vw), 20px); }
/* a.btn-click */
#profile a.btn-click { width:min(calc(168/1920*100vw), 168px); height:min(calc(168/1920*100vw), 168px); background:url('img/btn_click.png') no-repeat; background-size:100% auto; display:block; font-size:0; position:absolute; bottom:min(calc(-50/1920*100vw), -50px); right:min(calc(20/1920*100vw), 20px); z-index:1; }
#profile a.btn-click:hover { opacity:1; }
/* ============ for high resolution ============ */
@media only screen and (-webkit-min-device-pixel-ratio:2){
#profile::after { background-image:url('img/profile@2x.png'); }
#profile a.btn-click { background-image:url('img/btn_click@2x.png'); }
}
/* ============ smart phone ============ */
@media (max-width:750px){
#profile  { margin:0 calc(45/750*100vw) calc(140/750*100vw); width:auto; border-radius:calc(10/750*100vw); }
#profile::after { width:calc(306/750*100vw); height:calc(364/750*100vw); background-image:url('img/profile_sp.png'); right:0; }
/* ul */
#profile ul { margin-bottom:calc(25/750*100vw); flex-direction:column; }
#profile ul li { margin-bottom:0; }
#profile ul li:nth-child(1) { width:calc(299/750*100vw); }
#profile ul li:nth-child(2) { width:calc(199/750*100vw); }
#profile ul li p.img { margin-bottom:0; }
/* h3 */
#profile h3 { font-size:calc(50/750*100vw); }
#profile h3 small { font-size:calc(30/750*100vw); }
#profile p.txt { font-size:calc(30/750*100vw); }
/* .hidden */
#profile .hidden { padding:calc(45/750*100vw); width:100%; height:100%; border-radius:calc(10/750*100vw); }
#profile .hidden h3 { margin-bottom:1em; font-size:calc(32/750*100vw); }
#profile .hidden p.txt { line-height:calc(42/24); font-size:calc(24/750*100vw); }
/* a.btn-click */
#profile a.btn-click { width:calc(120/750*100vw); height:calc(120/750*100vw);  bottom:calc(-30/750*100vw); right:calc(20/750*100vw); }

/* ============ for high resolution ============ */
@media only screen and (-webkit-min-device-pixel-ratio:2){
#profile::after { background-image:url('img/profile_sp@2x.png'); }
}
}
/************************************************************************
  .wrapper
************************************************************************/
.wrapper { margin:auto; width:min(calc(1840/1920*100vw), 1840px); background-color:#ffffff; border-radius:min(calc(10/1920*100vw), 10px); /*box-shadow:3px 3px 2px 0px rgba(0,0,0,0.3);*/ }
.wrapper:not(:last-child) { margin-bottom:min(calc(160/1920*100vw), 160px); }
.wrapper .contents { width:min(calc(1420/1920*100vw), 1420px); }
/* ============ smart phone ============ */
@media (max-width:750px){
.wrapper { margin:0 calc(45/750*100vw); width:auto; border-radius:calc(10/750*100vw); }
.wrapper:not(:last-child) { margin-bottom:calc(100/750*100vw); }
.wrapper .contents { width:auto; }
}
/************************************************************************
  #in-page-links
************************************************************************/
#in-page-links { padding:0 0 min(calc(180/1920*100vw), 180px); text-align:center; position:static; }
#in-page-links h2 { margin:auto auto min(calc(80/1920*100vw), 80px); width:min(calc(163.0781/1920*100vw), 163.0781px); height:min(calc(21.9141/1920*100vw), 21.9141px); background:url('img/h2_contents.svg') no-repeat; background-size:100% auto; font-size:0; }
/* ul */
#in-page-links ul { margin:auto; padding:0; width:min(calc(1161.0307/1920*100vw), 1161.0307px); height:min(calc(331.4764/1920*100vw), 331.4764px); background:url('img/page_link.svg') no-repeat; background-size:100% auto; list-style:none; font-size:0; max-inline-size:initial; position:relative; }
#in-page-links ul li { margin:auto; padding:0; font-size:0; }
#in-page-links ul li a { height:min(calc(70/1920*100vw), 70px); display:block; position:absolute; /*background-color:rgba(255,0,0,0.5);*/ }
#in-page-links ul li.nav-001 a { width:min(calc(565/1920*100vw), 565px); top:min(calc(17/1920*100vw), 17px); left:min(calc(165/1920*100vw), 165px); }
#in-page-links ul li.nav-002 a { width:min(calc(720/1920*100vw), 720px); top:min(calc(87/1920*100vw), 87px); left:min(calc(237/1920*100vw), 237px); }
#in-page-links ul li.nav-003 a { width:min(calc(580/1920*100vw), 580px); top:min(calc(158/1920*100vw), 158px); left:min(calc(169/1920*100vw), 169px); }
#in-page-links ul li.nav-004 a { width:min(calc(452/1920*100vw), 452px); top:min(calc(229/1920*100vw), 229px); left:min(calc(535/1920*100vw), 535px); }
/* ============ smart phone ============ */
@media (max-width:750px){
#in-page-links { display:block; }
#in-page-links h2 { margin:auto auto calc(40/750*100vw); width:calc(180/750*100vw); height:calc(25/750*100vw); }
/* ul */
#in-page-links ul { width:100vw; height:calc(453/750*100vw); background-image:url('img/page_link_sp.svg'); left:calc(-75/750*100vw); }
#in-page-links ul li a { height:calc(115.5671/750*100vw); }
#in-page-links ul li.nav-001 a { width:calc(362/750*100vw); top:calc(12/750*100vw); left:calc(99/750*100vw); }
#in-page-links ul li.nav-002 a { width:calc(412/750*100vw); top:calc(123/750*100vw); left:calc(214/750*100vw); }
#in-page-links ul li.nav-003 a { width:calc(395/750*100vw); top:calc(232/750*100vw); left:calc(89/750*100vw); }
#in-page-links ul li.nav-004 a { width:calc(276/750*100vw); top:calc(337/750*100vw); left:calc(366/750*100vw); }
}
/************************************************************************
  .column
************************************************************************/
.column h2 { margin:auto 0 min(calc(50/1920*100vw), 50px); padding:0.2em 0.5em 0.3em; color:#ffffff; border-radius:min(calc(10/1920*100vw), 10px); line-height:1; display:inline-block; font-size:min(calc(48/1920*100vw), 48px); }
.column .main-image { margin:auto; padding:0 0 min(calc(170/1920*100vw), 170px); text-align:center; }
.column .main-image p.img { margin-bottom:auto; }
.column .banner { background-color:#ffffff; text-align:center; }
/*.column article { margin:auto; width:min(calc(1415/1920*100vw), 1415px); }*/
/* article.paragraph */
.column article.paragraph { display:flex; justify-content:space-between; }
.column article.paragraph:not(:last-child) { margin-bottom:min(calc(130/1920*100vw), 130px); }
.column article.paragraph .text { width:min(calc(705/1920*100vw), 705px); color:#3f3f3f; }
.column article.paragraph .text h3 { line-height:calc(61/40); font-size:min(calc(40/1920*100vw), 40px); }
.column article.paragraph .text p.txt { line-height:calc(40/20); font-size:min(calc(20/1920*100vw), 20px); }
.column article.paragraph .img { width:min(calc(810/1920*100vw), 810px); position:relative; top:min(calc(35/1920*100vw), 35px); }
/* .odd .even */
.column article.paragraph.odd .text { order:1; }
.column article.paragraph.odd .img { order:2; right:max(calc(-210/1920*100vw), -210px); }
.column article.paragraph.even .text { order:2; }
.column article.paragraph.even .img { order:1; left:max(calc(-210/1920*100vw), -210px); }
/* ============ smart phone ============ */
@media (max-width:750px){
.column h2 { margin:auto 0 min(calc(50/1920*100vw), 50px); padding:0.7em 0.8em 0.8em; width:100%; border-radius:calc(10/750*100vw); text-align:left; line-height:calc(50/35); font-size:calc(34/750*100vw); display:block; }
/* article.paragraph */
.column article.paragraph { flex-direction:column; position:relative; }
.column article.paragraph .text { width:auto; }
.column article.paragraph .text h3 { line-height:calc(60/38); font-size:calc(38/750*100vw); }
.column article.paragraph .text p.txt { margin-top:calc(410/750*100vw); line-height:calc(52/28); font-size:calc(28/750*100vw); }
.column article.paragraph .img { width:calc(505/750*100vw); height:calc(361/750*100vw); position:absolute; top:calc(150/750*100vw);  }
/* .odd .even */
.column article.paragraph.odd .img { right:calc(-30/750*100vw); }
.column article.paragraph.even .img { left:calc(-30/750*100vw); }
}
/************************************************************************
  #column-1
************************************************************************/
#column-1 h2 { background-color:#009cea; }
/* .chronology */
#column-1 .chronology { padding-bottom:min(calc(160/1920*100vw), 160px); font-size:0; }
#column-1 .chronology h3 { font-size:0; }
#column-1 .chronology dl { margin:auto; width:min(calc(1416/1920*100vw), 1416px); height:min(calc(692/1920*100vw), 692px); background:url('img/chronology.jpg') no-repeat; background-size:100% auto; }
/* .schedule */
#column-1 .schedule h3 { margin:auto auto 0; text-align:center; line-height:1; font-weight:500; font-size:min(calc(32/1920*100vw), 32px); }
#column-1 .schedule dl { width:min(calc(1743/1920*100vw), 1743px); height:min(calc(1181/1920*100vw), 1181px); background:url('img/schedule.png') no-repeat; background-size:100% auto; font-size:0; position:relative; left:max(calc(-210/1920*100vw), -210px); }
/* ============ for high resolution ============ */
@media only screen and (-webkit-min-device-pixel-ratio:2){
#column-1 .chronology dl { background-image:url('img/chronology@2x.jpg'); }
#column-1 .schedule dl { background-image:url('img/schedule@2x.png'); font-size:0; }
}
/* ============ smart phone ============ */
@media (max-width:750px){
#column-1 h2 { margin-bottom:calc(45/750*100vw); text-align:center; }
/* .chronology */
#column-1 .chronology { padding-bottom:calc(90/750*100vw); }
#column-1 .chronology dl { width:calc(591/750*100vw); height:calc(1098/750*100vw); background-image:url('img/chronology_sp.jpg'); }
/* .schedule */
#column-1 .schedule h3 { font-size:calc(30/750*100vw); }
#column-1 .schedule dl { width:calc(654/750*100vw); height:calc(846/750*100vw); background-image:url('img/schedule_sp.png'); left:calc(-30/750*100vw);  }
/* ============ for high resolution ============ */
@media only screen and (-webkit-min-device-pixel-ratio:2){
/* .chronology */
#column-1 .chronology dl { background-image:url('img/chronology_sp@2x.jpg'); }
#column-1 .schedule dl { background-image:url('img/schedule_sp@2x.png'); }
}
}
/************************************************************************
  #banner
************************************************************************/
#banner { text-align:center; }
#banner p.txt { font-size:0; }
#banner p.img { margin:auto auto min(calc(160/1920*100vw), 160px); width:min(calc(1012/1920*100vw), 1012px); }
/* ============ smart phone ============ */
@media (max-width:750px){
#banner { padding-bottom:calc(100/750*100vw); }
#banner p.txt { margin-bottom:0; }
#banner p.img { margin:auto calc(45/750*100vw); width:auto; }
}
/************************************************************************
  #column-2
************************************************************************/
#column-2 { padding:min(calc(180/1920*100vw), 180px) 0 min(calc(180/1920*100vw), 180px); }
#column-2 h2 { margin-bottom:min(calc(150/1920*100vw), 150px); background-color:#24b585; }

#column-2 .flex { margin:auto; width:min(calc(1110/1920*100vw), 1110px); justify-content:space-between; }
#column-2 .flex .text { width:min(calc(470/1920*100vw), 470px); }
#column-2 .flex p.img { width:min(calc(510/1920*100vw), 510px); }
/* ============ smart phone ============ */
@media (max-width:750px){
#column-2 h2 { text-align:left; }
}
/************************************************************************
  #column-3
************************************************************************/
#column-3 { padding-bottom:min(calc(145/1920*100vw), 145px); }
#column-3 h2 { background-color:#7e64b5; }
/* .box */
#column-3 .box { padding:min(calc(145/1920*100vw), 145px) 0 0 min(calc(100/1920*100vw), 100px); min-height:min(calc(1012/1920*100vw), 1012px); background:url('img/column3_box.svg') no-repeat; background-size:100% auto; position:relative; }
#column-3 .box .txt { width:min(calc(705/1920*100vw), 705px); }
#column-3 .box h3 { color:#ffffff; }
#column-3 .box p.txt { color:#ffffff; }
#column-3 .box p.txt:last-child { margin-bottom:0; }
#column-3 .box article.paragraph:not(:last-child) { margin-bottom:min(calc(100/1920*100vw), 100px); }

#column-3 .box p.img { position:absolute; }
#column-3 .box .paragraph:nth-child(1) p.img { width:min(calc(282/1920*100vw), 282px); top:max(calc(-165/1920*100vw), -165px); right:min(calc(38/1920*100vw), 38px); }
#column-3 .box .paragraph:nth-child(2) p.img { width:min(calc(518/1920*100vw), 518px); top:min(calc(425/1920*100vw), 425px); right:min(calc(50/1920*100vw), 50px); }

/* ============ for high resolution ============ */
@media only screen and (-webkit-min-device-pixel-ratio:2){
}
/* ============ smart phone ============ */
@media (max-width:750px){
#column-3 h2 { margin:auto auto calc(60/750*100vw); width:calc(599.10/750*100vw); }
#column-3 .box { padding:calc(125/750*100vw) calc(30/750*100vw) 0; width:calc(592/750*100vw); height:calc(2064/750*100vw); background-image:url('img/column3_box_sp.svg'); }
/* article.paragraph */
#column-3 .box article.paragraph .text h3 { margin-bottom:1em; }
#column-3 .box article.paragraph .text p.txt { margin-top:0; width:auto; }

#column-3 .box .paragraph:nth-child(2) p.img { margin:0 auto; width:calc(556/750*100vw); height:auto; top:auto; bottom:calc(-290/750*100vw); right:0; left:calc(-10/750*100vw); }

/* ============ for high resolution ============ */
@media only screen and (-webkit-min-device-pixel-ratio:2){
}
}
/************************************************************************
  #column-4
************************************************************************/
#column-4 h2 { margin-bottom:0; background-color:#ee5473; position:relative; z-index:1; }
#column-4 .box { margin:0 0 max(calc(-80/1920*100vw), -80px) ; width:min(calc(1840/1920*100vw), 1840px); height:min(calc(650/1920*100vw), 650px); background:url('img/column4_box.svg') no-repeat; background-size:100% auto; position:relative; z-index:0; top:max(calc(-80/1920*100vw), -80px); left:max(calc(-210/1920*100vw), -210px); }
#column-4 .box p.txt { margin:auto 0 auto min(calc(300/1920*100vw), 300px); padding-top:min(calc(185/1920*100vw), 185px); width:min(calc(1145/1920*100vw), 1145px); line-height:calc(40/20); font-size:min(calc(18/1920*100vw), 18px); }
/* #card */
#card { margin:auto; background-size:100% auto; }
#card p.txt { font-size:0; }
#card p.img { margin:auto; width:min(calc(984/1920*100vw), 984px); position:absolute; bottom:max(calc(-215/1920*100vw), -215px); right:0; left:0; }
/* ============ smart phone ============ */
@media (max-width:750px){
#column-4 .box { width:calc(751/750*100vw); height:calc(742/750*100vw); background-image:url('img/column4_box_sp.svg'); top:0; left:calc(-75/750*100vw); }
#column-4 .box p.txt { margin:auto; padding-top:calc(95/750*100vw); width:calc(545/750*100vw); text-align:left; line-height:calc(48/26); font-size:calc(24/750*100vw); }
/* #card */
#card { margin:auto; /*padding-top:calc(150/750*100vw); height:calc(433/750*100vw);*/ background-size:100% auto; }
#card p.txt { margin-bottom:0; }
#card p.img { margin-left:calc(-50/750*100vw); width:calc(714/750*100vw); bottom:calc(-450/750*100vw); }
}