@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&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;
} 
.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 { background:url('img/bg_1.jpg') no-repeat; background-size:100% auto; text-align:center; position:relative; }
#fv h2 { width:min(calc(941.74/1920*100vw), 941.74px); height:min(calc(212.78/1920*100vw), 212.78px); background:url('img/fv_title.svg') no-repeat; background-size:100% auto; font-size:0; position:absolute; top:min(calc(505/1920*100vw), 505px); left:min(calc(210/1920*100vw), 210px); }
#fv p.img { margin:0 auto; width:100%; /*height:min(calc(1121/1920*100vw), 1121px);*/ }
#fv p.img img { width:100%; }
/* ============ for high resolution ============ */
@media only screen and (-webkit-min-device-pixel-ratio:2){
#fv { background-image:url('img/bg_1@2x.jpg'); }
}
/* ============ smart phone ============ */
@media (max-width:750px){
#fv { overflow:hidden; }
#fv h2 { width:calc(613.75/750*100vw); height:calc(138.67/750*100vw); top:calc(350/750*100vw); left:calc(70/750*100vw); }
#fv p.img { height:calc(854/750*100vw); }
}
/************************************************************************
  #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-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 { background:url('img/bg.jpg') no-repeat bottom center; background-size:cover; }
.bg-b,
.bg-a { padding:0 0 min(calc(140/1920*100vw), 140px); position:relative; z-index:0; }
.bg-b::before,
.bg-a::after { content:''; width:min(calc(702/1920*100vw), 702px); height:min(calc(488/1920*100vw), 488px); background-repeat:no-repeat; background-size:100% auto; display:block; position:absolute; pointer-events:none; z-index:-1; }
.bg-b::before { background-image:url('img/bg_before.png'); top:0; left:0; }
.bg-a::after { background-image:url('img/bg_after.png'); bottom:0; right:0; }
/* ============ for high resolution ============ */
@media only screen and (-webkit-min-device-pixel-ratio:2){
.bg { background-image:url('img/bg@2x.jpg'); }
.bg-b::before { background-image:url('img/bg_before@2x.png'); }
.bg-a::after { background-image:url('img/bg_after@2x.png'); }
}
/* ============ smart phone ============ */
@media (max-width:750px){
.bg { background-size:auto; }
.bg-b::before,
.bg-a::after { width:calc(483.18/750*100vw); height:calc(335.75/750*100vw); }
.bg-a { padding-bottom:calc(115/750*100vw); }
}
/************************************************************************
  .bg-1
************************************************************************/
.bg-1 { background:url('img/bg_1.jpg') no-repeat; background-size:cover; }
/* ============ for high resolution ============ */
@media only screen and (-webkit-min-device-pixel-ratio:2){
.bg-1 { background-image:url('img/bg_1@2x.jpg'); }
}
/************************************************************************
  .bg-2
************************************************************************/
/* ============ smart phone ============ */
@media (max-width:750px){
/* ============ for high resolution ============ */
@media only screen and (-webkit-min-device-pixel-ratio:2){
}
}
/************************************************************************
  #introduction
************************************************************************/
#introduction .contents { padding:min(calc(70/1920*100vw), 70px) 0; }
#introduction p.txt { margin:auto; text-align:center; line-height:calc(66/30); font-size:min(calc(30/1920*100vw), 30px); font-family:var(--noto-serif); }

/* ============ smart phone ============ */
@media (max-width:750px){
#introduction .contents { padding:calc(55/750*100vw) 0 calc(120/750*100vw); }
#introduction p.txt { text-align:left; line-height:calc(60/30); font-size:calc(30/750*100vw); }
}
/************************************************************************
  #in-page-links
************************************************************************/
#in-page-links { padding:0 0 min(calc(180/1920*100vw), 180px); text-align:center; position:static; }
#in-page-links h2 { width:min(calc(179.66/1920*100vw), 179.66px); height:min(calc(20.81/1920*100vw), 20.81px); background:url('img/h2_contents.svg') no-repeat; background-size:100% auto; font-size:0; }
#in-page-links .contents { margin:auto; width:auto; display:inline-block; }
#in-page-links ul { margin:auto; padding:min(calc(20/1920*100vw), 20px) 0 0; max-width:initial; background-color:transparent; border-top:1px solid #343434; border-radius:0; display:inline-block; list-style:none; }
#in-page-links ul li { margin-bottom:min(calc(20/1920*100vw), 20px); text-align:left; display:list-item; }
#in-page-links ul li::before { content:''; margin-right:min(calc(10/1920*100vw), 10px); width:min(calc(19.70/1920*100vw), 19.70px); height:min(calc(15.92/1920*100vw), 15.92px); background:url('img/icon_maru.svg') no-repeat; background-size:100% auto; display:inline-block; }
#in-page-links ul li a { font-weight:500; font-size:min(calc(30/1920*100vw), 30px); }
/* ============ smart phone ============ */
@media (max-width:750px){
#in-page-links { padding-bottom:calc(150/750*100vw); display:block; }
#in-page-links h2 { width:calc(179.66/750*100vw); height:calc(20.815/750*100vw); }
#in-page-links ul { padding-top:calc(30/750*100vw); ; }
#in-page-links ul li { margin-bottom:0.5em; padding:0; }
#in-page-links ul li::before { margin-right:calc(10/750*100vw); width:calc(19.70/750*100vw); height:calc(15.92/750*100vw); }
#in-page-links ul li a { font-size:calc(25/750*100vw); display:inline; }
}
/************************************************************************
  .column
************************************************************************/
.column .contents { width:min(calc(980/1920*100vw), 980px); }
.column h2 { margin:auto auto min(calc(50/1920*100vw), 50px); }
.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 article { margin:auto; width:min(calc(980/1920*100vw), 980px); }
.column .banner { background-color:#ffffff; text-align:center; }
/* ============ smart phone ============ */
@media (max-width:750px){
.column .contents { width:auto; }
.column .main-image { margin-right:calc(30/750*100vw); margin-left:calc(30/750*100vw); width:auto; } 
.column article { margin-right:calc(30/750*100vw); margin-left:calc(30/750*100vw); width:auto; } 
.column p.txt { line-height:calc(50/28); font-size:calc(28/750*100vw); }
}
/************************************************************************
  .column .box
************************************************************************/
.column .box { margin-right:auto; margin-left:auto; padding-bottom:min(calc(50/1920*100vw), 50px); width:min(calc(980/1920*100vw), 980px); background-color:rgba(255,255,255,0.5); border-radius:min(calc(20/1920*100vw), 20px); }
.column .box h3 { margin:0; padding:min(calc(20/1920*100vw), 20px) min(calc(35/1920*100vw), 35px); width:min(calc(405/1920*100vw), 405px); background-color:#799677; color:#ffffff; line-height:1; border-radius:min(calc(20/1920*100vw), 20px) 0 min(calc(20/1920*100vw), 20px) 0; font-size:min(calc(18/1920*100vw), 18px); }
.column .box h3::before { content:'\025cf'; margin-right:0.5em; display:inline; }
/* .maru */
.column .box ul.maru { padding-top:min(calc(35/1920*100vw), 35px); padding-left:1.5em; }
.column .box ul.maru li { margin-bottom:0.5em; margin-left:-1.5em; text-indent:-1.5em; font-size:min(calc(18/1920*100vw), 18px); }
.column .box ul.maru li::before { content:'\025cf'; margin-right:0.5em; display:inline; }
.column .box ul.maru li:last-child { margin-bottom:0; }
/* ============ smart phone ============ */
@media (max-width:750px){
.column .box { margin-right:calc(75/750*100vw); margin-left:calc(75/750*100vw); padding-bottom:calc(50/750*100vw); width:auto; border-radius:calc(20/750*100vw); }
.column .box h3 { padding:calc(15/750*100vw) calc(30/750*100vw); width:calc(450/750*100vw); border-radius:calc(20/750*100vw) 0 calc(20/750*100vw) 0; font-size:calc(25/750*100vw); }
.column .box h3::before { display:none; }
/* .maru */
.column .box ul.maru { margin-right:calc(40/750*100vw); margin-left:calc((40/750*100vw) + 1.5em); padding-top:calc(30/750*100vw); }
.column .box ul.maru li { line-height:calc(43/25); font-size:calc(25/750*100vw); }
}
/************************************************************************
  #column-1
************************************************************************/
#column-1 .contents { width:auto; }
#column-1 h2 { width:min(calc(738.07/1920*100vw), 738.074px); }
#column-1 .main-image { width:min(calc(1256/1920*100vw), 1256px); }
/* .article-1 */
#column-1 .article-1 { padding-bottom:min(calc(110/1920*100vw), 110px); }
#column-1 .article-1 .flex { align-items:center; }
#column-1 .article-1 .text { width:min(calc(485/1920*100vw), 485px); }
#column-1 .article-1 h3 { margin:0 0 min(calc(50/1920*100vw), 50px); width:min(calc(481.69/1920*100vw), 481.69px); height:min(calc(58.69/1920*100vw), 58.69px); background:url('img/h3_column_1.svg') no-repeat; background-size:100% auto; font-size:0; }
#column-1 .article-1 p.img { margin-bottom:0; }
#column-1 .article-1 p.txt { margin-bottom:0; }

#column-1 .article-1 .flex:nth-child(1) { padding:0 0 min(calc(140/1920*100vw), 140px); position:relative; }
#column-1 .article-1 .flex:nth-child(1)::after { content:''; width:min(calc(434/1920*100vw), 434px); height:min(calc(288/1920*100vw), 288px); background:url('img/photo_column_1_b.png') no-repeat; background-size:100% auto; display:block; position:absolute; bottom:max(calc(-90/1920*100vw), -90px); right:max(calc(-135/1920*100vw), -135px); }
#column-1 .article-1 .flex:nth-child(1) p.img { margin-left:min(calc(40/1920*100vw), 40px); width:min(calc(349/1920*100vw), 349px); }

#column-1 .article-1 .flex:nth-child(2) { align-items:flex-end; justify-content:space-between; }
#column-1 .article-1 .flex:nth-child(2) p.img { order:1; width:min(calc(461/1920*100vw), 461px); }
#column-1 .article-1 .flex:nth-child(2) .text { order:2; width:min(calc(470/1920*100vw), 470px); }

#column-1 .banner p.img { margin-bottom:0; }

/* ============ for high resolution ============ */
@media only screen and (-webkit-min-device-pixel-ratio:2){
#column-1 .article-1 .flex:nth-child(1)::after { background-image:url('img/photo_column_1_b@2x.png'); }
}
/* ============ smart phone ============ */
@media (max-width:750px){
#column-1 .contents { margin-right:0; margin-left:0; }
#column-1 h2 { margin-bottom:calc(45/750*100vw); width:calc(554.88/750*100vw); height:calc(63.64/750*100vw); }
#column-1 .bg-b { padding-top:calc(50/750*100vw); }

#column-1 .main-image { width:auto; }
/* .article-1 */
#column-1 .article-1 { padding-top:calc(75/750*100vw); padding-bottom:calc(60/750*100vw); }
#column-1 .article-1 .text { margin-right:calc(40/750*100vw); margin-left:calc(40/750*100vw); padding-bottom:calc(30/750*100vw); width:auto; }
#column-1 .article-1 h3 { margin-bottom:calc(30/750*100vw); width:calc(418.17/750*100vw); height:calc(58.71/750*100vw); }
/* .flex:nth-child(1) */
#column-1 .article-1 .flex:nth-child(1) p.img { margin-right:auto; margin-left:0; width:calc(343.68/750*100vw); }
#column-1 .article-1 .flex:nth-child(1)::after { width:calc(510.92/750*100vw); height:calc(368.45/750*100vw); z-index:-1; bottom:calc(-10/750*100vw); right:0; left:auto; }
#column-1 .article-1 .flex:nth-child(1) { padding-bottom:calc(225/750*100vw); }
/* .flex:nth-child(2) */
#column-1 .article-1 .flex:nth-child(2) { align-items:flex-start; }
#column-1 .article-1 .flex:nth-child(2) p.img { margin-bottom:calc(50/750*100vw); width:calc(414.24/750*100vw); }
#column-1 .article-1 .flex:nth-child(2) .text { padding-bottom:0; width:auto; }
}
/************************************************************************
  .profile
************************************************************************/
.profile { margin:auto; padding:0 0 min(calc(40/1920*100vw), 40px); width:min(calc(980/1920*100vw), 980px); }
.profile p.txt { margin-bottom:0; font-size:min(calc(15/1920*100vw), 15px); }
/* .box */
.profile .box { padding-bottom:min(calc(60/1920*100vw), 60px); }
.profile .box p.txt { margin-left:min(calc(510/1920*100vw), 510px); line-height:calc(30/15);  }
.profile .box p.txt strong { font-weight:700; font-size:min(calc(30/1920*100vw), 30px); }
.profile .box p.txt strong span { font-size:min(calc(20/1920*100vw), 20px); }
/* .flex */
.profile .flex { margin-bottom:max(calc(-100/1920*100vw), -100px); align-items:center; position:relative; top:max(calc(-100/1920*100vw), -100px); justify-content:space-between; }
.profile .flex p.img { order:1; margin:0; width:min(calc(460/1920*100vw), 460px); text-align:center; }
.profile .flex p.img img { width:min(calc(281/1920*100vw), 281px); }
.profile .flex .text { order:2; width:min(calc(465/1920*100vw), 465px);  }
.profile .flex .text h4 { margin:0 0 min(calc(30/1920*100vw), 30px); width:min(calc(86.87/1920*100vw), 86.87px); height:min(calc(13.87/1920*100vw), 13.87px); background:url('img/h4_profile.svg') no-repeat; background-size:100% auto; font-size:0; }

.profile::before { background-image:none; }
/* ============ smart phone ============ */
@media (max-width:750px){
.column .profile { margin-right:calc(75/750*100vw); margin-left:calc(75/750*100vw); margin-bottom:calc(80/750*100vw); padding-bottom:calc(50/750*100vw); width:auto; background-color:rgba(255,255,255,0.5); border-radius:calc(20/750*100vw); position:relative; }
.column .profile::before { content:''; margin:0 auto; width:calc(354.49/750*100vw); height:calc(493.21/750*100vw); background:url('img/photo_profile.png') no-repeat; background-size:100% auto; display:block; position:absolute; top:calc(50/750*100vw); right:0; left:0; z-index:0; transform:none; }
/* .box */
.profile .box { margin-right:0; margin-left:0; background-color:transparent; }
.profile .box h3 { width:calc(345/750*100vw); position:relative; z-index:1; }
.profile .box p.txt { margin-left:0; margin-bottom:calc(50/750*100vw); padding-top:calc(515/750*100vw); text-align:center; line-height:calc(40/25); font-size:calc(25/750*100vw); }
.profile .box p.txt strong { font-size:calc(40/750*100vw); }
.profile .box p.txt strong span { font-size:calc(25/750*100vw); }
/* .flex */
.profile .flex { width:calc(540/750*100vw); }
.profile .flex p.img { display:none; }
.profile .flex .text { width:auto; }
.profile .flex .text h4 { margin-bottom:calc(25/750*100vw); width:calc(108.36/750*100vw); height:calc(17.34/750*100vw); }
.profile .flex .text p.txt { font-size:calc(25/750*100vw); }
/* ============ for high resolution ============ */
@media only screen and (-webkit-min-device-pixel-ratio:2){
.column .profile::before { background-image:url('img/photo_profile@2x.png'); }
}
}
/************************************************************************
  #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); width:min(calc(1001.34/1920*100vw), 1001.34px); }

#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 { padding-top:calc(80/750*100vw); }
#column-2 .contents { width:auto; }
#column-2 h2 { margin-bottom:calc(65/750*100vw); width:calc(543.18/750*100vw); }
#column-2 .flex { margin-right:calc(40/750*100vw); margin-left:calc(40/750*100vw); width:auto; }
#column-2 .flex .text { padding-bottom:calc(50/750*100vw); width:auto; }
#column-2 .flex .text p.txt { margin-bottom:0; }
#column-2 .flex p.img { margin-bottom:0; width:auto; }
}
/************************************************************************
  #column-3
************************************************************************/
#column-3 h2 { width:min(calc(885.60/1920*100vw), 885.60px); }
#column-3 .box { margin-bottom:min(calc(75/1920*100vw), 75px); }
#column-3 ul.gallery { padding-bottom:min(calc(110/1920*100vw), 110px); }
#column-3 .main-image { padding-bottom:min(calc(115/1920*100vw), 115px); }
/* .flex */
#column-3 .flex { width:min(calc(980/1920*100vw), 980px); }
#column-3 .flex .text { width:min(calc(470/1920*100vw), 470px); }
#column-3 .flex .text h3 { margin-bottom:min(calc(40/1920*100vw), 40px); width:min(calc(421.12/1920*100vw), 421.12px); }
#column-3 .flex p.img { width:min(calc(375/1920*100vw), 375px); }
#column-3 .flex p.img picture { display:inline-block; position:relative;  }
#column-3 .flex p.img picture:nth-of-type(1) { margin-bottom:min(calc(10/1920*100vw), 10px); left:min(calc(255/1920*100vw), 255px); }
#column-3 .flex p.img picture:nth-of-type(2) { left:min(calc(45/1920*100vw), 45px); }
#column-3 .banner p.img { margin-bottom:0; }

/* .bg-b */
#column-3 .bg-b { padding-top:min(calc(150/1920*100vw), 150px); }
#column-3 .bg-b .flex { justify-content:space-between; }
#column-3 .bg-b .flex:nth-of-type(1) { margin-bottom:min(calc(100/1920*100vw), 100px); }
#column-3 .bg-b h3 { margin-bottom:min(calc(80/1920*100vw), 80px); }
#column-3 .bg-b h3#h3-column-3-b { width:min(calc(335.86/1920*100vw), 335.86px); }
#column-3 .bg-b h3#h3-column-3-c { width:min(calc(643.20/1920*100vw), 643.20px); }

#column-3 .bg-b p.img { width:min(calc(469/1920*100vw), 469px); }
#column-3 .bg-b p.img picture { position:static; }
/* ============ 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 { margin-bottom:calc(45/750*100vw); margin-right:calc(40/750*100vw); margin-left:calc(40/750*100vw); }
/* .flex */
#column-3 .flex { margin-right:calc(40/750*100vw); margin-left:calc(40/750*100vw);width:auto; }
#column-3 .flex .text { width:auto; }
#column-3 .flex .text h3 { margin-bottom:calc(20/750*100vw); width:calc(421.125/750*100vw); }
#column-3 .flex p.img { margin-bottom:0; width:100%; }
#column-3 .flex p.img picture { width:calc(374.14/750*100vw); display:block; }

#column-3 .flex p.img picture:nth-of-type(1) { margin-right:0; margin-left:auto; position:static; }
#column-3 .flex p.img picture:nth-of-type(2) { margin-bottom:calc(-30/750*100vw); top:calc(-30/750*100vw); z-index:-1; }

#column-3 ul.gallery { padding-bottom:calc(85/750*100vw); }
#column-3 .main-image { margin-right:0; margin-left:0; padding-bottom:calc(75/750*100vw); width:100%; }

/* .bg-a */
#column-3 .flex .text p.txt { margin-bottom:calc(50/750*100vw); }
/* .bg-b */
#column-3 .bg-b .contents { margin-right:calc(75/750*100vw); margin-left:calc(75/750*100vw); }
#column-3 .bg-b .contents .flex { margin-bottom:calc(75/750*100vw); margin-right:auto; margin-left:auto; }
#column-3 .bg-b h3#h3-column-3-b { width:calc(335.86/750*100vw); }
#column-3 .bg-b h3#h3-column-3-c { width:calc(599.60/750*100vw); }
#column-3 .bg-b .contents .flex p.img { width:calc(482.31/750*100vw); display:block; }
#column-3 .bg-b .contents .flex p.img picture{ display:inline-block; position:static; }

#column-3 .bg-b .flex:nth-of-type(1) p.img { margin-right:auto; margin-left:0; text-align:left; }
#column-3 .bg-b .flex:nth-of-type(2) p.img { margin-right:0; margin-left:auto; text-align:right; }
}
/************************************************************************
  #column-4
************************************************************************/
#column-4 .flex { flex-direction:column; }
#column-4 .flex .main-image { order:1; padding-bottom:min(calc(90/1920*100vw), 90px); width:min(calc(970/1920*100vw), 970px); }
#column-4 .flex .text { order:2; }
#column-4 .flex .text h2 { width:min(calc(974.94/1920*100vw), 974.94px); }
/* ============ smart phone ============ */
@media (max-width:750px){
#column-4 .contents { margin:auto; }
#column-4 .flex .text { margin:auto calc(30/750*100vw); }
#column-4 .flex .text h2 { margin:auto auto calc(50/750*100vw); width:calc(690.61/750*100vw); }
#column-4 .flex .text p.txt { margin:auto calc(45/750*100vw); }
#column-4 .flex .main-image { margin:auto; padding-bottom:calc(75/750*100vw); width:100%; }
}
/************************************************************************
  ul.gallery
************************************************************************/
ul.gallery { margin:auto max(calc(-1*((1495 - 980)/2)/1920*100vw), calc(-1*(1495px - 980px)/2)) auto; width:min(calc(1495/1920*100vw), 1495px); display:flex; justify-content:space-between; max-inline-size:none; }
ul.gallery li { margin:0; padding:0; width:min(calc(469/1920*100vw), 469px); }
ul.gallery li::before { display:none; }
/* ============ smart phone ============ */
@media (max-width:750px){
ul.gallery { margin:auto calc(40/750*100vw); width:auto; flex-direction:column; }
ul.gallery li { margin-bottom:calc(35/750*100vw); width:auto; text-indent:0; }
ul.gallery li:last-child { margin-bottom:0; }
}
