/* ############################
GROWUP Ver1.0 CSS
############################ */

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/* ############################
リセットCSS START
############################ */

*, *:before, *:after {
box-sizing: border-box;
}

/* マージン、パディング、ボーダーをリセット */
body, h1, h2, h3, h4, h5, h6, p, ol, ul, li, figure, figcaption, blockquote, dl, dd {
margin: 0;
padding: 0;
border: 0;
}

/* リストスタイルをリセット */
ol, ul {
list-style: none;
}

/* フォント継承をリセット */
html {
font-family: "Noto Serif JP", serif;
}

/* リンクのスタイルをリセット */
a {
text-decoration: none;
color: inherit;
}

/* 画像のスケーリングを防ぐ */
img {
max-width: 100%;
height: auto;
display:block;
}

/* テーブルのボーダースパイシングとボーダーコラプスをリセット */
table {
border-collapse: collapse;
border-spacing: 0;
}

/* その他の基本的なスタイルリセット */
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
display: block;
}

/* ############################
リセットCSS END
############################ */


/* contents */

body{
max-width:750px;
margin:0 auto!important;
position: relative;
}

p{
padding:10px 0;
font-size:1.2rem;
font-weight:700;
line-height:1.8;
}

.btn-area,.up-contents-area{
position: relative;
}

.btn1{
position: absolute;
left: 10%;
width:80%;
animation: zoom 1s alternate infinite;
z-index:1;
}

.btn2,.btn3,.btn4,.btn5{
position: absolute;
left: 13%;
width:74%;
animation: zoom 1s alternate infinite;
z-index:1;
}

@keyframes zoom {
  0% {
    transform: scale(1); /* 初期サイズ */
  }
  100% {
    transform: scale(1.1); /* 1.2倍に拡大 */
  }
}
.btn1{
bottom: 3%;
}
.btn2{
bottom:22%;
}

.btn3{
bottom:15%;
}

.btn4{
bottom:8%;
}

.btn5{
bottom:5%;
}

#cta{
padding-top:80px;
}

.n-btn-area img{
width:50%;
margin:0 auto;
}

.btn-fix{
position: fixed;
z-index:2;
bottom:0;
box-sizing: border-box;
width: clamp(0%, 100%, 750px);
left: 50%;
transform: translateX(-50%);
}

.btn-fix a{
display: block;
background: #F1A100;
color: #FFF;
text-align: center;
padding: 20px;
font-weight: 700;
}

.btn-fix a span{
border: solid 1px #FFF;
padding: 0 10px;
margin-right: 10px;
}

/* section */

.contents-wapper{
padding:20px 80px 80px;
}

.sec14{
padding:80px 40px;
}

.sec14 .contents-wapper{
background:#FFF;
padding:80px 60px 220px;
border-radius:40px;
}

.sec15 .contents-wapper{
padding:80px 60px;
}

.sec04,.sec14{
background:#FFEDD2;
}

.sec04 h2,.sec14 h2{
font-size:2.4rem;
text-align:center;
background:#273457;
color:#FFF;
border-radius:18px;
padding:8px;
margin-top:20px;
}

.sec06 h2{
font-size:2.4rem;
text-align:center;
background-image: linear-gradient(90deg, rgba(232, 135, 177, 1), rgba(229, 106, 160, 1));
color:#FFF;
padding:8px;
margin-top:20px;
}

.sec08{
background-image: url('../img/img08.jpg');
background-size: cover; /* 画面いっぱいに画像を表示 */
background-position: top; /* 画像の中央を基準に配置 */
background-repeat: no-repeat; /* 繰り返し表示しない */
padding:60px; 40px;
}

.sec08 .model-area{
max-width: 535px;
margin: 0 auto;
margin-top:50px;
}

.sec08 .model-area h2{
margin-top:40px;
}

.sec08 p,.sec12 p{
font-size:0.9rem;
line-height:1.3;
}

.sec10{
background-image: url('../img/img10.jpg');
background-size: auto; /* 画面いっぱいに画像を表示 */
background-position: top; /* 画像の中央を基準に配置 */
background-repeat: no-repeat; /* 繰り返し表示しない */
padding:60px; 40px;
}

.schedule-area h2{
text-align:center;
margin:80px 0 40px;
position: relative;
}

.schedule-area h2 img{
position: absolute;
  top: -160%;
}

.schedule-area-flex{
display:flex;
justify-content: space-between;
}

.sec10 p{
font-size:1rem;
}

.sec10 img{
margin:0 auto;
}

.col-fisrt{
width:45%;
padding:30px 0;
}

.col-last{
width:50%
}

.att-text{
text-align:center;
margin-top:40px;
}

.sec12 h3{
font-size: 0.9rem;
}

.item {
flex: 0 0 50%;
padding:5px 20px;
}

.row-reverse {
display: flex;
align-items: center;
flex-direction: row-reverse; /* 順序を逆にする */
width: 100%; /* 行全体に幅を持たせる */
}

.sec14 img,.sec15 img{
margin:0 auto;
margin-bottom:40px;
}

/*====================================================================
.s_03 .accordion_one
====================================================================*/
.s_03 .accordion_one {
  max-width: 1024px;
  margin: 0 auto;
  font-family: "Noto Sans JP", sans-serif;
}

.s_03 .accordion_header span{
font-size: 2rem;
position: absolute;
  left: 0;
  top:0;
  background: #9259A0;
  height: 100%;
  padding: 6px 10px 6px 16px;
  color: #FFF;
}
.s_03 .accordion_one .accordion_header {
  background-color: #E3D8EA;
  color: #000;
  font-size: 1.2rem;
  font-weight: bold;
  padding: 20px 11%;
  position: relative;
  z-index: +1;
  cursor: pointer;
  transition-duration: 0.2s;
  margin-bottom: 15px;
}
.s_03 .accordion_one .accordion_header:hover {
  opacity: .8;
}
.s_03 .accordion_one .accordion_header .i_box {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  right: 5%;
  width: 40px;
  height: 40px;
  background:#9259A0;
  margin-top: -20px;
  box-sizing: border-box;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transform-origin: center center;
  transition-duration: 0.2s;
  border-radius: 50%;
}
.s_03 .accordion_one .accordion_header.stay .i_box {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}
.s_03 .accordion_one .accordion_header .i_box .one_i {
  display: block;
  width: 18px;
  height: 18px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transform-origin: center center;
  transition-duration: 0.2s;
  position: relative;
}
.s_03 .accordion_one .accordion_header.stay .i_box .one_i {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}
.s_03 .accordion_one .accordion_header.stay.open .i_box .one_i {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.s_03 .accordion_one .accordion_header.open .i_box {
  -webkit-transform: rotate(-360deg);
  transform: rotate(-360deg);
}
.s_03 .accordion_one .accordion_header.stay.open .i_box {
  -webkit-transform: rotate(315eg);
  transform: rotate(315deg);
}
.s_03 .accordion_one .accordion_header .i_box .one_i:before, .s_03 .accordion_one .accordion_header .i_box .one_i:after {
  display: flex;
  content: '';
  background-color: #fff;
  border-radius: 10px;
  width: 18px;
  height: 4px;
  position: absolute;
  top: 7px;
  left: 0;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  transform-origin: center center;
}
.s_03 .accordion_one .accordion_header .i_box .one_i:before {
  width: 4px;
  height: 18px;
  top: 0;
  left: 7px;
}
.s_03 .accordion_one .accordion_header.stay .i_box .one_i:before {
  content: none;
}
.s_03 .accordion_one .accordion_header.open .i_box .one_i:before {
  content: none;
}
.s_03 .accordion_one .accordion_header.stay.open .i_box .one_i:before {
  content: "";
}
.s_03 .accordion_one .accordion_header.open .i_box .one_i:after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.s_03 .accordion_one .accordion_header.stay.open .i_box .one_i:after {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}
.s_03 .accordion_one .accordion_inner {
  display: none;
  padding: 30px 30px;
  background:#E5E5E5;
  box-sizing: border-box;
  margin-bottom:15px;
}
.s_03 .accordion_one .accordion_inner.stay {
  display: block;
}

.s_03 .accordion_one .accordion_inner p.txt_a_ac {
  margin: 0;
}

/* footer */

footer{
font-family: "Noto Sans JP", sans-serif;
padding:60px; 20px;
background:#DFE0E0;
margin-bottom:63px;
text-align:center;
}

footer p{
color:#919191;
}

footer a{
color:#9259A0;
}

.copyright{
text-align:center;
font-size: 0.8rem;
padding-top:10px;
}

.copyright a{
color:#007bff;
}

.sp-only{
display:none;
}

@media (max-width: 749px) {
p{
font-size: 3.3vw;
}
.sec12{
height: 570vw;
}
.sec14 {
padding: 80px 20px;
}
.contents-wapper {
padding: 20px 40px 80px;
}
.sec15 .contents-wapper {
padding: 80px 20px;
}
.sec14 .contents-wapper{
padding: 80px 20px 118px;
}
footer h2,.sec04 h2, .sec14 h2{
font-size: 4.4vw;
}
.sec08 h2 {
font-size: 4.8vw;
}
.sec06 h2{
font-size: 4.2vw;
}
.sec12 h2{
font-size: 4.2vw;
}
.sec08 {
padding:40px;
}
.sec08 h2 span {
font-size: 1.8vw;
}
.sec14 img{
max-width: 57%;
}
.sec14 a img{
max-width: 73%;
}
.sec15 img{
max-width: 35%;
}
.schedule-area h2 img {
  top: -100%;
  max-width: 35%;
  left: -10%;
}
.schedule-area-flex{
display: block;
}
.col-fisrt{
width:100%;
}
.col-last{
width:100%;
}
.row-reverse{
align-items: initial;
display:block;
}
.up-contents-wapper > div {
padding: 5px 13px;
}
.s_03 .accordion_one .accordion_header{
padding: 20px 20%;
font-size: 3vw;
}
.s_03 .accordion_one .accordion_inner p.txt_a_ac{
font-size: 2.8vw;
}
footer{
padding:60px 20px;
}
.copyright span{
display:block;
padding-top:10px;
}
.pc-only{
display:none;
}
.sp-only{
display:block;
}
}