/*------------------------------
common
------------------------------*/
body{ overflow: hidden; }
section {padding: 6em 0;}
.in-box { padding-top: 4em; }

.purple { color: #69308b; }
.purple2 { color: #8d249f; }
.pink { color: #d067cc; }
.pink-s { color: #ff4180; }
.green { color: #00bf6c; }
.yellow { color: #fff100; }
.red { color: #de3225; }
.bg-red { background-color:#de3225; }

.marker { background: linear-gradient(transparent 50%, #fff100 0%); }
.big { font-size: 1.5em; }

.button { padding: .5em 3em .5em 3em; }
.btn_con {  margin-top: 1.5em; }


/*------------------------------
btn-list
------------------------------*/
.btn-list{ width: 90%; margin: 3.2em auto; }
.btn-list li{ width: 100%; }
.btn-list li + li{ margin-top: .8em; }
.btn-list li .ttl{ margin: 0 0 .7em;  font-size: 1.125em;  text-align: center;  line-height: 1.3; }
.btn-list li .txt { margin-bottom: .5em; }
.btn-list li .btn{ margin:0; }
.btn-list li .btn a{  position: relative;  display: block;  padding: .85em 2em;  margin: auto;  text-align: center;  background: #de3225;  font-size: 1.25em;   font-weight: bold;   border-radius: 40px; }
.btn-list li .btn.search a{ background: #fed917; }
.btn-list li .btn.application a { color: #fff; }
.btn-list li .btn.search a:active, .btn-list li .btn.search a:hover { color: #45341d; }
.btn-list li .btn a::after {  position: absolute;  content: "";  right: 2em;  top: 50%;  width: 10px;  height: 10px;  border-top: 3px solid;    border-right: 3px solid;  -webkit-transform: rotate(45deg) translateY(-50%);  transform: rotate(45deg) translateY(-50%); }
.btn-list li .btn a span { position: relative; }
.btn-list li .btn a span::before{  position: absolute; content: "";  width: 1.2em;  height: 1em;  top: 50%;  -webkit-transform: translateY(-50%);  transform: translateY(-50%); }
.btn-list li .btn.application a span::before{ left: -1.8em; background: url(/img/icon_book.png) center / contain no-repeat; }
.btn-list li .btn.search a span::before{ left: -1.8em; background: url(/img/icon_search.png) center / contain no-repeat; }


/*------------------------------
ttl
------------------------------*/
[class^="decoTtl-"] {
    font-weight: bold;
    text-align: center;
    margin-bottom: .3em;
    position: relative;
}
[class^="decoTtl-"] span.big {
    position: relative;
    display: inline-block;
    font-size: 1.3em;
    font-weight: bold;
}
[class^="decoTtl-"] span.big::before {
    position: absolute;
    content: "";
    top: -0.1em;
    transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
    width: 1.8em;
    height: 0.85em;
}
.decoTtl-1, .decoTtl-2 , .decoTtl-5 { font-size: 2.5em; }
.decoTtl-1 span, .decoTtl-2 span { padding: 0.1em; }
.decoTtl-1 span::before, .decoTtl-2::before { background: url(/img/deco_ttl.png) center / contain no-repeat; }
.decoTtl-2::before { left:50%; }
.decoTtl-3 { font-size: 1.5em; color: #fff; }
.decoTtl-4 { font-size: 1.25em; color: #fff; }
.decoTtl-4 span { font-size: 1.5em; }
.decoTtl-4 span::before {  background: url(/img/deco_sub_ttl.png) center / contain no-repeat; }
.decoTtl-5 { position: relative; margin-bottom: .5em; }
.decoTtl-5::before { position: absolute; content: ""; top: -1em; position:absolute; left:50%; -webkit-transform:translate(-50%, 0); transform:translate(-50%, 0); width: 2.3em;  height: 1.1em; background: url(/img/deco_ttl.png) center / contain no-repeat; }
.subTtl { font-size: 1.3em;  text-align: center;  font-weight: bold; position: relative; }

/*------------------------------
MV
------------------------------*/
#mv{ padding: 3.5% 0 0 0;  background: url(/img/mv_bg.jpg) center/cover;  position: relative;  height: 550px;  overflow: hidden; }
.mv-ttl {  position: absolute;  width: 56%;  max-width: 535px; top: 40%; left: 50%;  -webkit-transform: translate(-50%, -40%); transform: translate(-50%, -40%); z-index: 10; }
.mv-ttl-bg { position: absolute; width: 80%;  max-width: 767px; margin: 0; top: 40%; left: 50%; -webkit-transform: translate(-50%, -40%); transform: translate(-50%, -40%); z-index: 9; }
.mv-person { position: absolute;  margin: 0;  z-index: 10;  bottom: 0; left: 0; z-index: 10; width: 30%; max-width: 448px; }

/*------------------------------
gaiyo
------------------------------*/
#gaiyo .lead { text-align: center; margin-bottom: 1em; }
#gaiyo .lead span { font-weight: bold; }
#gaiyo .lead.big{ font-size: 1.25em; position: relative; }
#gaiyo .lead_txt { margin: auto; }
#gaiyo .lead::before {  position: absolute;  content: '';  background: url(/img/gaiyo_left.png);  width: 203px;  height: 241px;  left: -4em;  bottom: 0; }
#gaiyo .lead::after {  position: absolute;  content: '';  background: url(/img/gaiyo_right.png);  width: 263px;  height: 179px;  right: -4em;  bottom: -2em; }

#gaiyo .gaiyoList { padding-top: 8em; }
#gaiyo .gaiyoList li {  width: 32%;  margin-top: 4em;  padding: 1em 2em 1.5em;   background: #fff;  border: 3px solid #ff4180;  border-radius: .85em;  position: relative;  z-index: 1; }
#gaiyo .gaiyoList li:before {  position: absolute;  content: '';  background: url(/img/pic_tokuten_new.png);  padding: 1.6em 8em;  background-repeat: no-repeat;  top: -6.5em;  left: 0; }
#gaiyo .gaiyoList li.introduce:before { top:-7em; background-image: url(/img/pic_tokuten_introduce.png); }
#gaiyo .gaiyoList li.introduced:before { top:-7em; background-image: url(/img/pic_tokuten_introduced.png); }
#gaiyo .gaiyoList li.introduce { border: 3px solid #00bf6c; }
#gaiyo .gaiyoList li.introduced { border: 3px solid #8d249f; }
#gaiyo .gaiyoList li .decoTtl-3 { margin-top: -2.7em; margin-bottom: 2em; }
#gaiyo .gaiyoList li .decoTtl-3::before {  position: absolute;  content: '';  top: 70%;  left: 50%;
    -webkit-transform: translate(-50%, -50%);  transform: translate(-50%, -50%);  background: url(/img/ribbon_new.png);  background-repeat: no-repeat;  background-size: 100%;  padding: 1.65em 6.15em;  z-index: -1; }
#gaiyo .gaiyoList li.introduce .decoTtl-3::before { background-image: url(/img/ribbon_introduce.png); }
#gaiyo .gaiyoList li.introduced .decoTtl-3::before { background-image: url(/img/ribbon_introduced.png); }
#gaiyo .button { width: 100%; min-width: auto; }
#gaiyo .button::before { top:auto; bottom: 0;  right: 0; border: 10px solid transparent;  border-bottom: 10px solid #fff100;  border-right: 10px solid #fff100; }

/*------------------------------
about
------------------------------*/
#about{ position: relative; background-color: #fdf9fe; padding-bottom: 7em; }
#about::before {  content: "";  position: absolute;  top: 0;  left: 0;  background: url(/img/deco_bg.png) no-repeat;  width: 432px;  height: 99px; }
#about .lead { padding: .5em 0; font-size: 1.12em; }
#about [class^="btn_"] a::before { border-top: 10px solid #d067cc; border-right: 10px solid #d067cc; }
#about .subTtl span { position: relative; }

#about .aboutList { padding: 1em 0; }
#about .aboutList li .txtBox { padding: 20px; height: calc(100% - 200px); background: #fff; }
#about .aboutList li { position: relative; z-index: 0; }
#about .aboutList li::before {  display: block;  position: absolute;  left: 0;  top: 0;  width: 0;  height: 0;  border-style: solid;  border-width: 5em 5em 0 0;  border-color: #ff5f83 transparent transparent transparent;  content: "";  z-index: 1; }
#about .aboutList li:after {  position: absolute;  content: '';  background-color: #fbb8c7;  background-image: linear-gradient( -45deg, #fff 10%, transparent 10%, transparent 50%, #fff 50%, #fff 60%, transparent 60%, transparent);  background-size: 7px 7px;  background-attachment: fixed;  width: 100%;  height: 100%;  top: .5em;  left: .5em;  z-index: -1; }
#about .aboutList li.room::before { border-color: #00bf6c transparent transparent transparent; }
#about .aboutList li.facility::before { border-color: #3a84e9 transparent transparent transparent; }
#about .aboutList li.safety::before { border-color: #ffa749 transparent transparent transparent; }
#about .aboutList li.community::before { border-color: #d067cc transparent transparent transparent; }
#about .aboutList li.room:after { background-color: #b6ebd4; }
#about .aboutList li.facility:after { background-color: #b2cef3; }
#about .aboutList li.safety:after { background-color: #ffc896; }
#about .aboutList li.community:after { background-color: #e1b9e9; }
#about .aboutList li figure {  position: relative;  overflow: hidden; height: 200px; }
#about .aboutList li figure img {  width: 100%;  height: 100%;  object-fit: cover; }
#about .aboutTtl { font-size: 1.135em; font-weight: 500; text-align: center; line-height: 1.6; letter-spacing: 0; }
#about .aboutTtl span { display: block; font-size: 1.65em; font-weight: bold; }
#about .meals .aboutTtl { color:#ff5f83; }
#about .room .aboutTtl { color:#00bf6c; }
#about .facility .aboutTtl { color:#3a84e9; }
#about .safety .aboutTtl { color:#ffa749; }
#about .community .aboutTtl { color:#d067cc; }
#about .aboutList li .txtBox .txt { letter-spacing: .5px; font-size: .98em; font-weight: normal; line-height: 1.7; }
#about .aboutList .no {  position: absolute;  z-index: 1;  color: #fff;  top: 0.5em;  left: 1em;  margin: 0; }
#about .btn_con { margin-top: 2em; }

/*------------------------------
tokuten
------------------------------*/
.bg-col { position: relative; }
.bg-col::before { position: absolute;  content: '';  background-color: #ffe3ed;  background-image: linear-gradient( -45deg, #fff 10%, transparent 10%, transparent 50%, #fff 50%, #fff 60%, transparent 60%, transparent);  background-size: 7px 7px;  background-attachment: fixed;  width: 100%;  height: 100%; top: .5em; z-index:-1; }
#introduce.bg-col::before { background-color: #d5f6e8; }
.bg-green { background-color: #d5f6e8; }


/* navList */
#new .navList { padding: 1em 0 2.5em; }
#new .navList a { display: block; padding: 2.5em 4em 1.65em; font-size: 1.25em; border-radius: 0.3em; color: #fff; position: relative; }
#new .navList a::after { position: absolute; content: ""; right: 2em; top: 50%; width: 10px; height: 10px; border-top: 3px solid; border-right: 3px solid; -webkit-transform: rotate(
135deg) translateY(-50%); transform: rotate(135deg) translateY(-50%); }
#new .navList .new a { background: #ff4180; }
#new .navList .introduce a { background: #00bf6c; }
#new .navList li+li { margin-left: 4%; }

.tokutenBox { padding-bottom: 5em; background: #fff; border-radius: 10px; }
.tokutenBox .decoTtl-3 { margin-bottom: 1.5em; padding: 0.45em 0; font-size: 1.85em; border-radius: 10px 10px 0 0; position: relative; }
.tokutenBox .txt { font-size: 1.25em; }
.tokuten-img { margin: auto; text-align: center; position: relative; }
.tokuten-img::before {  position: absolute;  content: '';  background: url(/img/deco_left.png) no-repeat;  width: 154px;  height: 100px;  left: -12em;  top: 50%; -webkit-transform: translate(0, -50%);  transform: translate(0, -50%); }
.tokuten-img::after { position: absolute; content: ''; background: url(/img/deco_right.png) no-repeat; width: 154px; height: 100px; right: -12em; top: 50%; -webkit-transform: translate(0, -50%); transform: translate(0, -50%); }
.tokuten-img2 { margin: -.5em auto -1em;  text-align: center; }

/* new */
#new .tokutenBox .decoTtl-3 { background: #ff4180; }
/* introduced */
#new .introduced .tokutenBox .decoTtl-3 { background: #8d249f; }
/* introduce */
#introduce .tokutenBox .decoTtl-3 { background: #00bf6c; }


/* price */
table.price { margin: 3em auto 0; font-size: 1.12em; border-bottom: 3px solid #ddd; }
table.price .ttl { border-bottom: 3px solid #ddd;  border-top: 3px solid #ddd; background: #ffe3ed; }
table.price .ttl th + th { border-left: 2px solid #ddd; }
table.price th,table.price td { padding: .5em 2em; }
table.price tr+tr { border-bottom: 2px solid #ddd; }
table.price .border { border-left: 2px solid #ddd; border-right: 2px solid #ddd; background: #ffe3ed;  }
table caption {  margin-bottom: 1em; text-align: left; }
table.price .right { border-left: 2px solid #ddd; }
table.price .txt_vertical { background: #ffe3ed; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; }
table.price .red { font-weight: bold; font-size: 1.2em; }
table.price .bg-red { padding: .5em 1em; font-weight: bold; color: #fff; font-size: 1.5em; }
table.price .ttl .bg-red { font-size: 1.12em; }
table.price .line span { position: relative; }
table.price .line span::before { position: absolute; content: ""; display: block; transform: rotate(-10deg); background-color: #de3225; width: 100%; height: 1px; top: 50%; left: 0; }
table.price .line { position: relative; }
table.price .line::before { content: "\025b6"; color: #de3225; position: absolute; right: -0.8em; }


/* flowBox */
.flowBox.in-box { padding-top: 5.5em; }
.flowBox .tokutenBox .decoTtl-3 > span { position: relative; }
.flowBox .tokutenBox .decoTtl-3 > span::after { content: ''; position: absolute;  background: url(/img/tokuten_ttl.png) no-repeat; right: -1.7em;  bottom: .3em;  width: 1.3em;  height: 1.55em; background-size: 100%; }
.flowBox .taisyo { display: table;margin: auto; padding: 0.3em 1em; border: 3px solid #ff4180;border-radius: 0.5em;text-align: center;}
.flowBox .taisyo .txt { display: inline-flex; }
.introduced .taisyo { border-color:#8c259f; }
.introduce .taisyo { border-color:#00bf6c; }
.flowBox .contact-button { display: inline-block;
    color: #fff;
    border-radius: 50px;
    font-size: 14.5px;
    font-weight: bold;
    letter-spacing: 1px;
    text-align: center;
    line-height: 2.8;
    background: #ff4180; }
.flowBox.introduced .contact-button { background: #8c259f; }

#new .tokutenBox .decoTtl-3, #introduce .tokutenBox .decoTtl-3 { margin-bottom: 1em; }

.flowBox .flow li:not(:last-child) .circle-icon::before {content: "";position: absolute;bottom: 100%; right: 0;left: 70%;top: 50%;margin: 0 auto; width: 100%; height: 2px;background: #ffe3ed;}
.flowBox.introduced .flow li:not(:last-child) .circle-icon::before { background: #f6e4f9; }
#introduce .flowBox .flow li:not(:last-child) .circle-icon::before { background: #d5f6e8; }


.flowBox .flow .circle-icon { position: relative; width: 75%; max-width: 123px; margin: auto; }
.flowBox .flow .circle-icon-in { margin: 0;  padding-top: 100%;  background: #ffe3ed;  border-radius: 100%;  position: relative; z-index: 1; }
.flowBox.introduced .flow .circle-icon-in { background: #f6e4f9; }
#introduce .flow .circle-icon-in { background: #d5f6e8; }
#introduce .flow .icon-introduce .vh_ctr {  position: absolute;  top: 52%;  left: 1%;  -webkit-transform: translate(0, -50%);  transform: translate(0, -50%); }

.flowBox .flow .step { margin: 1em auto 0; color: #ff4180; }
.flowBox.introduced .flow .step { color: #8d249f; }
#introduce .flowBox .flow .step { color: #00bf6c; }
#introduce .flowBox .taisyo { padding: .7em 1em; border-color: #00bf6c;line-height: 1.5; }
.flowBox.introduced .flow li { /*width: 18%;*/ position:relative; }
.flowBox .comment p {  margin: auto; padding: 1em; font-size: .8em; font-weight: bold;  letter-spacing: 0;  line-height: 1.7;  color: #fff;  background: #8c259f; }
.flowBox .comment p { margin: 0; position: relative; }
.flowBox .comment p::before {
    content: "\025b2";
    color: #8d249f;
    position: absolute;
    top: -1em;
    font-size: 1.5em;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
}


#introduce .flowBox .comment p { background: #00bf6c; }
#introduce .flowBox .comment p::before { color: #00bf6c; }
#introduce .flowBox .tel { display: inline-block; color: #fff; background: #00bf6c; border-radius: 50px; font-size: 14.5px; font-weight: bold; letter-spacing: 1px; text-align: center; line-height: 2.8; }

/*------------------------------
terms
------------------------------*/
#terms .subTtl { margin-top: .5em; margin-bottom: .3em; font-size: 1.8em; }
#terms .dlList { border: 3px solid #f0f0f0; background: #fff; }
#terms .dlList dt, #terms .dlList dd {  padding: 0.5em 1em; }
#terms .dlList dt{ background: #f0f0f0; font-weight: bold; }
#terms .dlList dd{ font-size: .95em; font-weight: 400; }
#terms ul.disc {  padding-left: 1em; }
#terms .disc li { position: relative; list-style-type: none; }
#terms .disc li::before {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #45341d;
    content: '';
    position: absolute;
    left: -0.7em;
    top: 0.85em;
}
#terms .termsList { letter-spacing: 1px; }

/* レスポンシブ */
@media screen and (min-width: 600px) {
    #gaiyo .gaiyoList li+li { margin-left: 2%; }

    #about .aboutList { display:-webkit-flex; display:flex; -webkit-flex-wrap:wrap; flex-wrap:wrap; -webkit-justify-content:center; justify-content:center; }
    #about .aboutList li{ width: 31%; }
    #about .aboutList li.room, #about .aboutList li.facility, #about .aboutList li.community { margin-left: 3.5%; }
    #about .aboutList li.safety, #about .aboutList li.community { margin-top: 3.5%; }

    .flowBox .flow .step { font-size: 1.25em; }
    .tokuten-img { margin: 2.5em auto auto; }
}
@media screen and (min-width:600px) and (max-width:959px) {
    #about .aboutList li .txtBox { padding: 20px; height: calc(100% - 160px); }
    #about .aboutList li figure { height: 160px; }

    table .ttl th {  width: 25%; }
}

@media screen and (min-width: 768px) {
#gaiyo .gaiyoList li+li { margin-left: 2%; }

#about .subTtl span::before{ content: ''; position: absolute; width:32px; height: 44px; left: -2em; bottom:0; background: url(/img/about_ttl_before.png); background-repeat: no-repeat; }
#about .subTtl span::after{ content: ''; position: absolute; width:32px; height: 44px; right:-1.5em; bottom:0; background: url(/img/about_ttl_after.png); background-repeat: no-repeat; }

#terms {  padding-bottom: 12em; }
#terms .dlList { height: 100%; }

}

@media screen and (min-width: 960px) {
#mv { height: 90vh; }
.tokutenBox .decoTtl-3 { padding: .25em 0; }
.tokuten-img { max-width: 380px; }

#terms .termsList { width: 49%; }
}

@media screen and (min-width: 1200px) {
  .contact-button {
      width: 100%;
      margin: 1em auto 1.5em;
  }

.price {  width: 82%;  margin: auto; }
.flow li { width: 15%; margin-top: 1em; }
.flowBox .flow li+li { margin-left: 1%; }
.flowBox.introduced .flow li+li { margin-left: 3%; }
#introduce .flowBox .flow li+li { margin-left: 3%; }
.flowBox .flow .step { text-align: center; }
.flowBox .flow .small { text-align: center; line-height: 1.6; }
.flowBox.introduced .comment { position: absolute; left:50%; -webkit-transform: translate(-50%, 0); transform: translate(-50%, 0); margin-top: -1em; }
.flowBox .comment p { position: relative; }
.flowBox.introduced .comment p { width: 15em; }
.introduced .tokutenBox {  padding-bottom: 7em; }
#introduce .flowBox .comment p { margin: auto; }
#introduce .flowBox .comment {  margin-top: -1em; }
#introduce .flowBox .tel { width: 100%; margin: 1em auto 1.5em; }
}

@media screen and (min-width: 1500px) {
  .mv-person {  left: 50%;  margin-left: -45em; }

}

@media screen and (max-width: 1199px) {
.inner.wide {  width: 92%;  }

#gaiyo .lead::before { left: -2em; }
#gaiyo .lead::after { right: -3em; }
#gaiyo .lead.big .pc_none{ display: block; }

.price { width: 80%; margin: 3em auto auto; font-size: 1em; }
table .ttl th { width: 24%; }
table.price th, table.price td { padding: 0.5em; }
table.price .bg-red { width: 27%; padding: .5em; }

.flowBox .flow { width: 60%; margin: auto; }
.flowBox .flow li { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; width: 100%; margin: 2em auto auto; }
.flowBox .flow li:not(:last-child) .circle-icon::before { top:100%; right:auto; left: 50%; width: 2px; height: 100%; }
.flowBox .flow li:not(:first-child) .circle-icon::after {  content: "";   position: absolute;   bottom: 100%;   left: 50%;   margin: 0 auto;   width: 2px;   height: 100%;   background: #f6e4f9;}
#introduce .flowBox .flow li:not(:first-child) .circle-icon::after { background: #d5f6e8; }
.flowBox .flow .circle-icon {  order: 1; width: 18%; margin: auto auto auto 0; }
.flowBox .flow .step { order: 2; width: 70%; margin-left: 0; line-height: 1; }
.flowBox .flow .flow-txt { order: 3; width: 76%; margin-top: -3.5em;  margin-left: auto; }
.flowBox .flow .flow-txt .small { font-size: .95em; }
.flowBox .comment p { display: inline-block; padding: .8em; }
.flowBox .comment p::before { left: 2.5em; }
#introduce .flow .icon-introduce .vh_ctr {  top: 48%;  left: -2%; }
#introduce .flowBox .tel { width: 12em; margin-top: 1em; }
#introduce .flowBox .comment { margin-top: 1.1em; }
.flowBox .contact-button { width: 12em; margin-top: 1em; }

}

/* タブレット以下 */
@media screen and (max-width: 1024px) {
    .decoTtl-3 { font-size: 1.2em; }

    .mv-ttl { width: 48%; }
    .mv-ttl-bg { width: 69%; }
    .mv-person { width: 33%; left: -2.5em;  }
    .lead_txt { margin: auto; }

    #gaiyo .gaiyoList li { padding: 2% 4% 3%; }
    #gaiyo .gaiyoList li .decoTtl-3::before { padding: 15% 56%; }

    table.price .bg-red { padding: .5em; }
    .price { width: 90%; }

    .flowBox .flow { width: 70%; }
}

@media screen and (max-width: 959px) {
    .decoTtl-3 { font-size: 1.1em; }
    .btn-list li .btn a{ width: 100%; font-size: 1em; }
    .subTtl { font-size: 1.25em; }

    #gaiyo .gaiyoList li:before { background-size: 90%; }
    #gaiyo .gaiyoList li:before { top:-5.5em; }
    #gaiyo .gaiyoList li.introduce:before, #gaiyo .gaiyoList li.introduced:before { top: -6em; }
    #gaiyo .button { padding: 0.2em 1em; }

    #about .aboutList li .txtBox .txt { font-size: .9em; }
    #about .aboutTtl { font-size: 1em; }
    #about .aboutTtl span { font-size: 1.4em; }

    #new .navList li { width: 45%; }
    #new .navList li a { padding: 1em 0; }
    #new .navList a::after { top:44%; right:1.4em; }


    .tokuten-img img { width: 45%; }
    .tokuten-img::before { left: 2em; }
    .tokuten-img::after { right: 2em; }
    table .ttl th {  width: 21%; }
    .tokutenBox .txt { font-size: 1.15em; }

    .flowBox .flow { width: 85%; }
    .flowBox .flow .flow-txt { margin-top: -4em; }

    #terms .termsList { width: 100%; }
    #terms .termsList + .termsList .subTtl { margin-top: 1em; }
    #terms .termsList + .termsList  { margin-top: 5em; }
}

@media screen and (max-width: 767px) {
.decoTtl-3 { font-size: 1em; }
.subTtl { font-size: 1.15em; }

#gaiyo .lead::before { left: -1em; bottom: 0; width: 19vh; height: 18vh; min-width: 144px;
min-height: 140px; background-size: 80%; background-repeat: no-repeat; }
#gaiyo .lead::after { width: 23vh; height: 13vh; min-width: 175px; min-height: 95px; right: -4em; background-size: 80%; background-repeat: no-repeat; }
#gaiyo .gaiyoList li:before { background-size: 80%; }

#about .subTtl .sp_only{ display:block; }
#about .subTtl::before{ content: ''; position: absolute; width:32px; height: 44px; left: 0; bottom:0; background: url(/img/about_ttl_before.png); background-repeat: no-repeat; }
#about .subTtl::after{ content: ''; position: absolute; width:32px; height: 44px; right: 0; bottom:0; background: url(/img/about_ttl_after.png); background-repeat: no-repeat; }

#new .navList li a { padding: 1.5em 0; font-size: 1.1em; }
#new .navList a::after { top:auto; right:50%; bottom:1em; }

.tokuten-img::before, .tokuten-img::after { width: 20%; background-size: 100%; }
.tokutenBox .txt { font-size: 1em; }
.taisyo { width: 90%; margin:auto; }

table.price { margin-top: 2em; font-size: .75em; }
table.price th, table.price td { padding: 0.3em 0.33em; }

.flowBox .flow { width: 90%; }
/* .flowBox.introduced .flow li:not(:last-child) .circle-icon::before { height: 180%; } */

#terms .termsList + .termsList {
    margin-top: 0em;
}

}

/* 599px 以下 ------------------------ */
@media screen and (max-width: 599px) {
    /*------------------------------
    common
    ------------------------------*/
    section { padding: 3em 0; }
    .decoTtl-1, .decoTtl-2, .decoTtl-5 { font-size: 1.5em; }
    .subTtl { font-size: 1.02em; }

    .btn_con { margin-top: 1em; }
    .btn_con a {  padding: 0.4em 3em 0.5em;  min-width: auto; }

    .btn-list{ width: 100%; margin: 2.5em auto; }
    .btn-list li + li{ margin-top: .8em; }
    .btn-list li .btn a { padding: .5em 1em .5em 4em; font-size: 1.2em; }
    .btn-list li .btn a span { padding-right: 1.8em; }

    /*------------------------------
    MV
    ------------------------------*/
    #mv { height: 400px; background-position: 80%; }
    .mv-ttl { width: 65%;  margin: 0.1em 0 0 0; }
    .mv-ttl-bg { width: 90%; }
    .mv-person { width: 45%; left: -1.5em; }

    /*------------------------------
    gaiyo
    ------------------------------*/
    #gaiyo .lead.big { font-size: 1em; }
    #gaiyo .lead::before { left: -1.3em; bottom: -6em; width: 8em; height: 8em;  }
    #gaiyo .lead::after { width: 11em;  height: 6em;  right: -4em; bottom: -6em; }

    #gaiyo .gaiyoList li { width: 48.5%; border-radius: .5em; }
    #gaiyo .gaiyoList li .decoTtl-3 { margin-top: -2.5em; margin-bottom: 1.6em; }
    #gaiyo .gaiyoList li .decoTtl-3::before { padding: 16% 58%; }
    #gaiyo .gaiyoList li:before { top: -4.5em; width: 11em; height: 2.5em; padding: 0; background-size: 100%; }
    #gaiyo .gaiyoList li.introduce { margin-left: 2%; }
    #gaiyo .gaiyoList li.introduced { margin-top: 6em; }
    #gaiyo .gaiyoList li.introduce:before, #gaiyo .gaiyoList li.introduced:before { top: -5em; }
    #gaiyo .button { padding: 0.2em 1em; font-size: .9em; }

    /*------------------------------
    about
    ------------------------------*/
    #about { padding-bottom: 2em; }
    #about::before { background-size: 180px; }
    #about .aboutList li { width: 85%; margin: auto; }
    #about .aboutList li+li { margin-top: 1.5em; }

    /*------------------------------
    tokuten
    ------------------------------*/
    #new .navList { padding-bottom: 1.3em; }
    #new .navList li { width: 49%; }
    #new .navList li+li { margin-left: 2%; }
    #new .navList li a { font-size: .85em; }
    #new .tokutenBox .txt { font-size: .9em; line-height: 2; }
    .tokuten-img2  { width: 80%; margin: 0 auto 1em; }
    .tokuten-img img { width: 54%; }
    .tokuten-img::before, .tokuten-img::after { width: 16%;  height: auto;  min-height: 60px; }
    .tokuten-img::before { left: 1em; }
    .tokuten-img::after { right:1em; }
    .tokutenBox .decoTtl-3 { font-size: 1.3em; }
    #new .iblock { line-height: 1.2; }

    .tokutenBox { padding-bottom: 2em; }
    .tokutenBox .decoTtl-3 { padding: .15em 0; }
    table .ttl th { width: auto; }
    table.price .red, table.price .ttl .bg-red { width: auto; font-size: 1em; }
    table.price .bg-red { width:auto;  padding: 0.3em; font-size: 1.1em; }

    .flowBox .flow .circle-icon { width: 21%; }
    .flowBox .flow .step { width: 72%; margin: 0.5em auto 0; line-height: 0; }
    .flowBox .flow .flow-txt { width: 74.5%; line-height: 1.5; margin-top: -3.8em; }
    .flowBox .flow .flow-txt .small {  font-size: .9em; }
    .flowBox.in-box { padding-top: 3.5em; }
    .flowBox .flow li:not(:last-child) .circle-icon::before { height: 130%; }
    .flowBox .taisyo .txt { text-align: left; }
    .flowBox .comment p { padding: 0.5em; }
    .flowBox .contact-button { font-size: .9em; }
    .introduced .taisyo { padding-bottom: .6em; }
    #introduced .taisyo .txt { line-height: 1.5; }
    #introduce .flowBox .taisyo { width: 92%; padding: .7em 0; }
    #introduce .flowBox .comment { width: auto; }

    #introduce .flowBox .taisyo .txt { margin-bottom: .5em; }
    #introduce .flowBox .taisyo .small { font-size: .8em; }
    #terms .subTtl { font-size: 1.4em; }

}
