@charset "utf-8";
/*
Theme Name: office ET2
Author: m.t
Description: office ET2のテーマ
Version:1.0
*/
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* リセットcss設定終了 */

*, *:before, *:after {/*全ての要素にBorder-boxを適用する*/
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
/*========= スクロール途中でヘッダーが表示＆非表示するためのCSS ===============*/
#header.Up {
    animation: headerUP 0.5s forwards;
  }

  @keyframes headerUP{
    from {
      opacity: 1;
    transform: translateY(0);
    }
    to {
      opacity: 0;
    transform: translateY(-100px);
    }
  }

#header.Down {
    animation: headerDown 0.5s forwards;
  }
  @keyframes headerDown {
    from {
      opacity: 0;
    transform: translateY(-100px);
    }
    to {
      opacity: 1;
    transform: translateY(0);
    }
}/*スクロール設定終了*/

body{
    font-family:"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
}
html,body {/*ハンバーガーメニュー*/
    min-height: 100vh; /* dvhが対応していないブラウザの場合 */
    min-height: 100dvh;
}
.header{
    background-color: rgba(255, 255, 255, 0.85);/* red,green,blue,alpha（透明度）*/
    width: 100%;
    z-index: 999;/*最前面へ*/
    position: fixed;
    left: 0;
    top: 0;
}

.container{
    width: 90%;
    max-width: 1100px;
    margin-right: auto;
    margin-left: auto;
}
@media (max-width: 1199.98px) {
    .container{
        max-width: 1000px;
    }
}
@media (max-width: 991.98px) {
    .container{
        max-width: 800px;
    }    
}
@media (max-width: 767.98px) {
    .container{
        max-width: 600px;
    }    
}
@media (max-width: 575.98px) {
    .container{
        max-width: 450px;
    }
}
@media (max-width: 320.98px) {
    .container{
        max-width: 300px;
    }
}

.header .top-wrap{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0 32px 0;
}
@media (max-width: 991.98px) {
    .header .top-wrap{
        align-items: start;
        padding: 20px 0;
    }
}
@media (max-width:575.98px) {
    .header .top-wrap{
        align-items: center;
        padding: 8px 0;
    }
}

.header .top-wrap .logo{
    display: flex;
    justify-content: left;
    align-items: center;
}

.header .top-wrap .logo img.logo1{
    max-width: 200px;
    width: 100%;
    height: auto;
}
@media (max-width: 575.98px) {
    .header .top-wrap .logo img.logo1{
        width: 70%;
        height: auto;
    }
}

.header .top-wrap .logo .description{
    display: grid;
    justify-items: center;
    align-items: center;
    margin-left: 24px;
    max-width: 400px;
    width: 90%;
    font-size: 12.8px;
    font-weight: 500;
    color: #202020;
    line-height: 1.5;/* 行間数値1.5-2.0　px　%なし*/
}
@media (max-width: 991.98px) {
    .header .top-wrap .logo .description{
        max-width: 500px;
        width: 100%;
    }
}
@media (max-width: 767.98px) {
    .header .top-wrap .logo .description{
        font-size: 12px;
        max-width: 310px;
    }
}
@media (max-width: 575.98px) {
    .header .top-wrap .logo .description{
        display: none;
    }
}

/* 以下、ヘッダーボタン設定 */
.header .top-wrap .header-btn{
    display: flex;
    justify-content: right;
    align-items: center;
    margin-right: -56px;
}
@media (max-width: 991.98px) {
    .header .top-wrap .header-btn{
        display: none;
    }
}
.reserve-btn{
    background-color: #e3007e;
    width: 190px;
    height: 50px;
    border-radius:25px;/* 角の丸みpx */
    display: flex;
    justify-content: center;
    align-items: center;
}
@media (max-width: 1199.98px) {
    .reserve-btn{
        width: 170px;
    }
}
@media (max-width: 991.98px) {
    .reserve-btn{
        max-width: 350px;
        width: 90%;
    }
}
@media (max-width: 767.98px) {
    .reserve-btn{
        max-width: 300px;
        width: 90%;
    }
}
@media (max-width: 575.98px) {/*ハンバーガーメニュー内*/
    .reserve-btn{
        width: 90%;
        height: 40px;
    }
}

.reserve-btn:hover{
    box-shadow: none;
    transform: scale(0.99, 0.99) translateY(2px);
    cursor: pointer;
}
a.reserve{
    display: flex;
    text-decoration: none;/* リンク下線無 */
    align-items: center;
    margin: 0 auto;
}
img.calendar{
    width: 24px;
    height: auto;
}
@media (max-width: 1199.98px) {
    img.calendar{
        width: 20px;
    }
}
@media (max-width: 575.98px) {
    img.calendar{
        width: 16px;
    }
}

.btn{
    margin-left: 8px;
    font-size: 16px;
    font-weight: bold;
    color:#fff;
}
@media (max-width: 1199.98px) {
    .btn{
        font-size: 14px;
    }
}
@media (max-width: 575.98px) {
    .btn{
        font-size: 12.8px;
    }
}

.contact-btn{
    background-color: #ed85a0;
    width: 190px;
    height: 50px;
    margin-left: 32px;
    border-radius:25px;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media (max-width: 1199.98px) {
    .contact-btn{
        margin-left: 16px;
        width: 170px;
    }
}
@media (max-width: 991.98px) {
    .contact-btn{
        max-width: 350px;
        width: 90%;
    }
}
@media (max-width: 767.98px) {
    .contact-btn{
        max-width: 300px;
        width: 90%;
    }
}
@media (max-width: 575.98px) {/*ハンバーガーメニュー内*/
    .contact-btn{
        width: 90%;
        height: 40px;
        margin-left: 0;
        margin-top: 16px;
    }
}
.contact-btn:hover{
    box-shadow: none;
    transform: scale(0.99, 0.99) translateY(2px);
    cursor: pointer;
}
a.contact{
    display: flex;
    text-decoration: none;/* リンク下線無 */
    align-items: center;
}

img.mail{
    width: 24px;
    height: auto;
}
@media (max-width: 1199.98px) {
    img.mail{
        width: 20px;
    }
}
@media (max-width: 575.98px) {
    img.mail{
        width: 16px;
    }
}

/*ハンバーガーメニュー*/
.hiraku-open-btn-line{
    background-color: #ff9bcd;
}
@media screen and (min-width: 991.98px) {
    .hiraku-open-btn-line{
        display: none;
    }
}
@media (max-width: 575.98px) {
    .hiraku-open-btn-line{
        margin: 0;
        position: relative;
        right: 4px;
    }
}

  .hiraku-open-btn-line:before,
  .hiraku-open-btn-line:after{
    background-color: #ff9bcd;
}

/*575.98px以降のheaderボタン*/
.header .top-wrap .header-subbtn{
    display: flex;
    column-gap: 16px;
}

.header .top-wrap .header-subbtn button{/*ハンバーガー背景*/
	border:none;
	background: none;
    position: relative;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    /* 幅と高さを設定 */
    width: 3em;
    height: 3em;
}

.header .top-wrap .header-subbtn .button{
    display: none;  /*1000px以上では使用しない */
}

/*575.98px以降の予約・問い合わせアイコン共通*/
.subbtn-wrap{
    display: grid;
    justify-items: center;
    align-items: center;
}
@media (min-width:575.98px) {
    .subbtn-wrap{
        display: none;
    }
}
.subbtn-wrap:hover{
    cursor: pointer;
}

img.sub-icon{
    width: 20px;
    height: 20px;
}

/*ハンバーガーメニュー内*/
.js-offcanvas{
    background-color: #ffeef7 !important;
    margin: 0 auto;
    display: none;/*ハンバーガーメニューのチラつき対策（cssでは非表示にしてjsでページが読み込まれてから表示させる設定*/
}
ul.hamburger-nav{
    display: block;

}
.hamberger-icon{
    position: relative;
    bottom: 1px;
    float: left;
    width: 18px;
    height: auto;
    margin-right: 8px;
}
/*WordPress内のメニュー横に設置するアイコンの設定*/
/* アイコンを配置したい要素に「position: relative;」を記述 */
.h-icon01,.h-icon02,.h-icon03,.h-icon04,.h-icon05,.h-icon06,.h-icon07{
    position: relative;
  }
  
  .h-icon01::before, .h-icon02::before,.h-icon03::before,.h-icon04::before,.h-icon05::before,.h-icon06::before,.h-icon07::before{
    /* 基本的に変更しないプロパティ */  
    content: '';
    position: absolute;
    top: 50%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
  
    /* アイコンとテキストの間隔を調整するプロパティ */
    left: 24px;
  
    /* アイコンのサイズを調整するプロパティ */
    width: 1em;
    height: 1em;
  }

  .h-icon01::before{
    /* アイコンの上下位置を調整するプロパティ */
    transform: translateY(-50%);
    /* 表示させるアイコンのパスを指定 */
    background-image: url(images/top-icon.svg);
  }
  .h-icon02::before{
    /* アイコンの上下位置を調整するプロパティ */
    transform: translateY(-320%);
    /* 表示させるアイコンのパスを指定 */
    background-image: url(images/heart-icon.svg);
  }
  .h-icon03::before{
    /* アイコンの上下位置を調整するプロパティ */
    transform: translateY(-320%);
    /* 表示させるアイコンのパスを指定 */
    background-image: url(images/one-icon.svg);
  }
  .h-icon04::before{
    /* アイコンの上下位置を調整するプロパティ */
    transform: translateY(-320%);
    /* 表示させるアイコンのパスを指定 */
    background-image: url(images/team-icon.svg);
  }
  .h-icon05::before{
    /* アイコンの上下位置を調整するプロパティ */
    transform: translateY(-320%);
    /* 表示させるアイコンのパスを指定 */
    background-image: url(images/musical-icon.svg);
  }
  .h-icon06::before{
    /* アイコンの上下位置を調整するプロパティ */
    transform: translateY(-50%);
    /* 表示させるアイコンのパスを指定 */
    background-image: url(images/flow.svg);
  }
  .h-icon07::before{
    /* アイコンの上下位置を調整するプロパティ */
    transform: translateY(-50%);
    /* 表示させるアイコンのパスを指定 */
    background-image: url(images/qa-icon.svg);
  }
/*WordPress内のメニュー横に設置するアイコンの設定終了*/
ul.hamburger-nav{
    background-color: #ffeef7;
}

ul.hamburger-nav > li{
    font-size: 16px;
    font-weight: bold;
    color: #590000;
    border-bottom: solid #f2dee9 1px;
}

ul.hamburger-nav > li > a{
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
    color: #590000;
    padding: 24px 0 24px 56px;
    display: block;
}
ul.hamburger-nav > li > a:hover{
    color: #eb4f55;
    cursor: pointer;
}
ul.hamburger-nav > li > ul.sub-menu > li >a{
    display: block;
    text-decoration: none;
    font-size: 12.8px;
    font-weight: 500;
    color: #202020;
    padding: 16px 0;
    margin-left: 56px;
}
ul.hamburger-nav > li > ul.sub-menu > li >a:first-child{
    margin-top: 0;
}
ul.hamburger-nav > li > ul.sub-menu > li > a:hover{
    color: #eb4f55;
    cursor: pointer;
}
.hamburger-btn{
    margin-top: 24px;
    margin-left: 24px;
}
@media screen and (min-width: 575.98px) {
    .hamburger-btn{
        display: none;
    }
}
.sub-copyright{
    font-size: 12px;
    font-family:"Calibri", sans-serif;
    font-weight: 300;
    color: #202020;
    margin: 24px 0 24px 24px;
}

/*767.98pxヘッダーボタン*/
.header .header-btn_sp{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    padding-bottom: 20px;
    max-width: 720px;
}
@media screen and (min-width: 991.98px) {
    .header .header-btn_sp{
        display: none;
    }
}
@media (max-width: 767.98px) {
    .header .header-btn_sp{
        max-width: 600px;
        width: 90%;
    }
}
@media (max-width: 575.98px) {
    .header .header-btn_sp{
        display: none;
    }
}


/* 以下、下層タブ設定 */
.header .gnavi__wrap {
    display: flex;
    justify-content: center;
    align-items: center;
}
@media (max-width: 991.98px) {
    .header .gnavi__wrap {
        display: none;
    }
}
ul.header-global-nav {
    display: flex;
    justify-content: center;
    align-items: center;
}

ul.header-global-nav > li{
    width: 150px;
    height: 60px;
    position: relative;
    transition: all .3s;
    text-align: center;
    line-height: 1.2;
}
@media (max-width: 1199.98px) {
    ul.header-global-nav > li{
        width: 130px;
    }
}

ul.header-global-nav > li > a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: #202020;/*初期文字色*/
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.05em;
    font-weight: 500;
    transition: all .3s;
}

ul.header-global-nav > li:hover a {
    color: #eb4f55;/*該当したときの文字色*/
}


/*以下、ドロップダウンメニュー*/
ul.header-global-nav > li > ul.sub-menu {
    transform: scaleY(0);/*デフォルトでは非表示の状態にしておく*/
    transform-origin: center top;/*変形を適応する基準をtopとする*/
    transition: all .3s;/*表示の変化を0.3秒に指定*/
    width: 100%;
    position: absolute;
    top: 60px;
    left: 0;
}
ul.header-global-nav > li:hover > ul.sub-menu {
    transform: scaleY(1);/*Gナビメニューにホバーしたら表示*/
}
ul.header-global-nav > li > ul.sub-menu > li{/*ドロップダウンメニュー枠内*/
    background-color: rgba(255, 255, 255, 0.85);/* red,green,blue,alpha（透明度）*/
    height: 60px;
    transition: all .3s;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
ul.header-global-nav > li > ul.sub-menu > li:not(:first-child)::before{/*ドロップダウンメニュー境目線*/
    content: "";
    width: 100%;
    height: 1px;
    background-color: #ffeef7;
    position: absolute;
    top: 0;
    left: 0;
}
ul.header-global-nav > li > ul.sub-menu > li:hover {
    background-color: #ed85a0;/*該当したときの背景色*/
}
ul.header-global-nav > li > ul.sub-menu > li > a {
    color: #202020;
    text-decoration: none;
}
ul.header-global-nav > li > ul.sub-menu > li:hover > a {
    color: #202020;/*該当したときの文字色*/
}


/* 以下、kv設定 */
.kv{
    display: grid;
    justify-items: center;
    align-items: center;
    background: linear-gradient(to bottom, transparent 0%, transparent 70%, #fff 100%), url(images/sora2.png) !important;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}


.kv .bg-img{
    display: grid;
    justify-items: center;
    align-items: center;
    padding: 330px 0 244px 0;
    width: 100%;
}
@media (max-width: 1199.98px) {
    .kv .bg-img{
        padding: 244px 0 144px 0;
    }
}
@media (max-width: 767.98px) {
    .kv .bg-img{
        padding: 200px 0 100px 0;
    }
}
@media (max-width: 575.98px) {
    .kv .bg-img{
        padding:  90px 0 50px 0;
    }
}
@media (max-width: 320.98px) {
    .kv .bg-img{
        padding:  70px 0 50px 0;
    }
}
.kv .bg-img .main-concept{
    font-size: 76.29px;
    font-family: "Calibri", sans-serif;
    font-weight: bold;
    color: #fff;
    text-shadow: 0 3px 7px #1b2ba1; /*横にpx・縦にpx・ぼかしpx・影の色*/
}
@media (max-width: 991.98px) {
    .kv .bg-img .main-concept{
        font-size: 61.04px;
    }
}
@media (max-width: 575.98px) {
    .kv .bg-img .main-concept{
        font-size: 31.25px;
    }
}

.kv .bg-img .concept-explanation{
    margin-top: 32px;
    width: 70%;
    font-size: 20px;
    font-family: "Calibri", sans-serif;
    font-weight: bold;
    color: #fff;
    text-shadow: 0 3px 7px #1b2ba1; /*横にpx・縦にpx・ぼかしpx・影の色*/
    line-height: 1.5;
    word-wrap: break-word;
}
@media (max-width: 991.98px) {
    .kv .bg-img .concept-explanation{
        font-size: 16px;
    }
}
@media (max-width: 575.98px) {
    .kv .bg-img .concept-explanation{
        font-size: 14px;
        margin-top: 24px;
    }
}

.kv .bg-img .detail-btn{
    background-color: #fff;
    display: grid;
    place-items: center;
    width: 300px;
    height: 68px;
    margin-top: 40px;
    border-radius:33px;
}
@media (max-width: 575.98px) {
    .kv .bg-img .detail-btn{
        width: 150px;
        height: 35px;
        border-radius:22px;
        margin-top: 24px;
    }
}
.kv .bg-img .detail-btn:hover{
    box-shadow: none;
    transform: scale(0.99, 0.99) translateY(2px);
    cursor: pointer;
}

.kv .bg-img .detail-btn a.detail{
    text-decoration: none;/* リンク下線無 */
    font-size: 20px;
    color: #202020;
    font-weight: 500;
}
@media (max-width: 575.98px) {
    .kv .bg-img .detail-btn a.detail{
        font-size: 14px;
    }
}

.kv .bg-img .detail-btn a.detail .arrow-right{
    position: relative;
    display: inline-block;
    padding: 10px;/*矢印アイコンのスペースを空けるため*/
}
@media (max-width: 575.98px) {
    .kv .bg-img .detail-btn a.detail .arrow-right{
        padding: 4.5px;/*矢印アイコンのスペースを空けるため*/
    }
}

.kv .bg-img .detail-btn a.detail .arrow-right::after {
    content: ''; /* 画像や疑似要素のみ表す場合は空に */
    width: 10px; /* くの字を山なりに見た時、左側の長さ */
    height: 10px; /* くの字を山なりに見た時、右側の長さ */
    border-top: solid 3px #eb4f55;/* くの字を山なりに見た時、左側の太さと色 */
    border-right: solid 3px #eb4f55;/* くの字を山なりに見た時、右側の太さと色 */
    position: absolute;
    left: 54px;/* 小コンテナ内 */
    top: 6.5px;/* 小コンテナ内 */
    transform: rotate(45deg);/* くの字の向き */
}
@media (max-width: 575.98px) {
    .kv .bg-img .detail-btn a.detail .arrow-right::after {
        width: 8px; /* くの字を山なりに見た時、左側の長さ */
        height: 8px; /* くの字を山なりに見た時、右側の長さ */
        border-top: solid 2px #eb4f55;/* くの字を山なりに見た時、左側の太さと色 */
        border-right: solid 2px #eb4f55;/* くの字を山なりに見た時、右側の太さと色 */
        left: 8px;/* 小コンテナ内 */
        top: 0px;
        bottom: 1px;/* 小コンテナ内 */
    }
}

/* 以下、お悩み */
.flex-box{
    display: grid;
    justify-items: center;
    align-items: center;
    padding-top: 96px;
}
@media (max-width: 575.98px) {
    .flex-box{
        padding-top: 48px;
    }
}

.flex-box .text1{
    font-size: 31.25px;
    font-weight: 500;
    color: #202020;
}
@media (max-width: 991.98px) {
    .flex-box .text1{
        font-size: 25px;
    }
}
@media (max-width: 575.98px) {
    .flex-box .text1{
        font-size: 16px;
    }
}

.flex-box .flex-items{
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    column-gap: 16px;
}
@media (max-width: 767.98px) {
    .flex-box .flex-items{
        display: grid;
        justify-items: center;
        align-items: center;
    }
}

.flex-box .flex-item{
    flex: 1;
    max-width: 294px;
    height: 130px;
    background-color: #ff9bcd;
    display: grid;
    justify-items: center;
    align-items: center;
    margin-top: 24px;
    border-radius:65px;
}
@media (max-width: 991.98px) {
    .flex-box .flex-item{
        max-width: 240px;
        width: 90%;
    }
}
@media (max-width: 767.98px) {
    .flex-box .flex-item{
        margin-top: 16px;
        max-width: 420px;
        width: 90%;
        height: 100px;
    }
}
@media (max-width: 575.98px) {
    .flex-box .flex-item{
        max-width: 320px;
        height: 80px;
    }
}

.flex-box .flex-item .text2{
    font-size: 16px;
    color: #fff;
    line-height: 1.5;
    width: 70%;
    word-wrap: break-word;
}
@media (max-width: 575.98px) {
    .flex-box .flex-item .text2{
        font-size: 12.8px;
        width: 80%;
    }
}

/* 以下、sub concept */
.sub-concept{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 48px 0 96px 0;
}
@media (max-width: 767.98px) {
    .sub-concept{
        padding: 96px 0;
    }
}
@media (max-width: 575.98px) {
    .sub-concept{
        padding: 48px 0;
    }
}
.sub-concept.sub-text{
    display: grid;
    justify-content: center;
    align-items: center;
}
.sub-concept .sub-text .sub-text1{
    display: grid;
    justify-items: center;
    font-size: 20px;
    font-weight: 500;
}
@media (max-width: 991.98px) {
    .sub-concept .sub-text .sub-text1{
        font-size: 16px;
    }
}
@media (max-width: 575.98px) {
    .sub-concept .sub-text .sub-text1{
        font-size: 14px;
    }
}

.sub-concept .sub-text .text-center{
    text-align: center;
    margin-top: 16px;
}
.sub-concept .sub-text .text-center .sub-text2{
    display:inline;
    justify-items: center;
    font-size: 39.06px;
    font-weight: bold;
    color: #590000;
    background: linear-gradient(to bottom , transparent 60% , #ffe4e1 60%);/*linear-gradient(方向　transparent 透明の割合％, 線の色 色の割合％)*/
}
@media (max-width: 991.98px) {
    .sub-concept .sub-text .text-center .sub-text2{
       font-size: 31.25px;
    }
}
@media (max-width: 575.98px) {
    .sub-concept .sub-text .text-center .sub-text2{
        font-size: 20px;
     }
}

.sub-concept .sub-text .sub-rowtext{
    margin: 16px auto 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media (max-width: 767.98px) {
    .sub-concept .sub-text .sub-rowtext{
        margin: 0 auto;
    }
}
.sub-concept .sub-text .sub-rowtext .sub-text3{
    padding-top:12px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    width: 80%;
    word-wrap: break-word;
}
@media (max-width: 991.98px) {
    .sub-concept .sub-text .sub-rowtext .sub-text3{
        font-size: 16px;
    }
}
@media (max-width: 767.98px) {
    .sub-concept .sub-text .sub-rowtext .sub-text3{
        max-width: 60%;
        padding-top: 0;
    }
}
@media (max-width: 575.98px) {
    .sub-concept .sub-text .sub-rowtext .sub-text3{
        font-size: 12.8px;
    }
} 

.sub-concept .sub-text .sub-rowtext img.tree-subillustration{/*767.98px以降のイラスト*/
    max-width: 170px;
    height: auto;
    right: 0;
}
@media (min-width: 767.98px) {
    .sub-concept .sub-text .sub-rowtext img.tree-subillustration{
        display: none;
    }
}  
@media (max-width: 575.98px) {
    .sub-concept .sub-text .sub-rowtext img.tree-subillustration{
        max-width: 140px;
        height: auto;
        right: 0;
    }
}/**/

.sub-concept .tree img.tree-illustration{
    position: relative;
    right: 30%;
    max-width: 300px;
    height: auto;
}
@media (max-width: 1199.98px) {
    .sub-concept .tree img.tree-illustration{
        right: 20%;
        max-width: 240px;
        height: auto;
    }
}
@media (max-width: 991.98px) {
    .sub-concept .tree img.tree-illustration{
        right: 0;
        max-width: 240px;
        height: auto;
    }
}
@media (max-width: 767.98px) {
    .sub-concept .tree img.tree-illustration{
        display: none;
    }
}
/* 以下、概要プロフィール */
.summary{
    background-color: #fff2f9;
    display: grid;
    justify-items: center;
    align-items: center;
    padding: 96px 0;
    position: relative;
}
@media (max-width: 575.98px) {
    .summary{
        padding: 48px 0;
    }
}

.summary .summary-wrap{
    display: flex;
    justify-content: center;
    align-items: center;
}
@media (max-width: 767.98px) {
    .summary .summary-wrap{
        display: grid;
        justify-items: center;
        align-items: center;
    }
}

.summary .summary-wrap .eri-picture{
    display: grid;
    justify-items: center;
    align-items: center;
}
.summary .summary-wrap .eri-picture .eri-text{
    font-family: "VDL ペンレター" , sans-serif;
    font-size: 25px;
    color: #202020;
}
@media (max-width: 991.98px) {
    .summary .summary-wrap .eri-picture .eri-text{
        font-size: 20px;
    }
}
@media (max-width: 575.98px) {
    .summary .summary-wrap .eri-picture .eri-text{
        font-size: 16px;
    }
}

.summary .summary-wrap .eri-picture img.eri{
    margin-top: 8px;
    width: 467px;
    height: auto;
}
@media (max-width: 991.98px) {
    .summary .summary-wrap .eri-picture img.eri{
        max-width: 367px;
    }
}
@media (max-width: 575.98px) {
    .summary .summary-wrap .eri-picture img.eri{
        max-width: 300px;
    }
}


.plof{
    margin-left: 56px;
}
@media (max-width: 991.98px) {
    .plof{
        margin-left: 32px;
    }
}
@media (max-width: 767.98px) {
    .plof{
        margin: 16px 0 0 0;
        width: 80%;
    }
}
@media (max-width: 575.98px) {
    .plof{
        margin: 16px 0 0 0;
        width: 90%;
    }
}

.eri-plof{
    font-size: 16px;
    font-weight: 300;
}
@media (max-width: 991.98px) {
    .eri-plof{
        font-size: 14px;
    }
}
@media (max-width: 767.98px) {
    .eri-plof{
        position: relative;
        left: 60px;
    }
}
@media (max-width: 575.98px) {
    .eri-plof{
        position: relative;
        left: 0;
    }
}

.name1{
    margin-top: 8px;
    font-size: 31.25px;
    font-weight: 500;
    color: #eb4f55;
}
@media (max-width: 991.98px) {
    .name1{
        font-size: 25px;
    }
}
@media (max-width: 767.98px) {
    .name1{
        position: relative;
        left: 60px;
    }
}
@media (max-width: 575.98px) {
    .name1{
        position: relative;
        left: 0px;
        font-size: 20px;
    }
}

span.name2{
    font-size: 31.25px;
    font-family:"Calibri", sans-serif;
    font-weight: lighter;
    color: #eb4f55;
}
@media (max-width: 991.98px) {
    span.name2{
        font-size: 25px;
    }
}
@media (max-width: 575.98px) {
    span.name2{
        position: relative;
        left: 0px;
        font-size: 20px;
    }
}

.plof-text1{
    margin-top: 48px;
    font-size: 16px;
    font-weight: 500;
    color: #202020;
    word-wrap: break-word;
    line-height: 1.5;
}
@media (max-width: 991.98px) {
    .plof-text1{
        margin-top: 24px;
        font-size: 14px;
    }
}
.summary .summary-wrap .plof .achievement{
    margin-top: 48px;
    font-size: 16px;
    font-weight: 500;
    color: #202020;
    display: inline-block;/*文字の長さに合わせた下線*/
    border-bottom: 1px solid #202020; /* 線の太さ 線の種類 線の色 */
    padding-bottom: 2px; /* テキストと下線との距離 */
}
@media (max-width: 991.98px) {
    .summary .summary-wrap .plof .achievement{
        margin-top: 24px;
        font-size: 14px;
    }
}
.plof-text2{
    margin-top: 8px;
    font-size: 16px;
    font-weight: 500;
    color: #202020;
    word-wrap: break-word;
    line-height: 1.5;
}
@media (max-width: 991.98px) {
    .plof-text2{
        font-size: 14px;
    }
}

.summary .plof-btn{
    display: grid;
    justify-items: center;
    margin-top: 40px;
    background-color: #9aca4f;
    width: 300px;
    height: 68px;
    border-radius:33px;
}
@media (max-width: 575.98px) {
    .summary .plof-btn{
        width: 150px;
        height: 35px;
        border-radius:22px;
    }
}
.summary .plof-btn:hover{
    box-shadow: none;
    transform: scale(0.99, 0.99) translateY(2px);
    cursor: pointer;
}
.summary .plof-btn a.plof-detail{
    display: flex;
    justify-items: center;
    align-items: center;
    text-decoration: none;/* リンク下線無 */
    font-size: 20px;
    font-weight: 500;
    color: #fff;
}
@media (max-width: 575.98px) {
    .summary .plof-btn a.plof-detail{
        font-size: 14px;
    }
}

.summary .plof-btn a.plof-detail .arrow-right2{
    position: relative;
    display: inline-block;
    padding: 10px;/*矢印アイコンのスペースを空けるため*/
}
@media (max-width: 575.98px) {
    .summary .plof-btn a.plof-detail .arrow-right2{
        padding: 4.5px;/*矢印アイコンのスペースを空けるため*/
    }
}

.summary .plof-btn a.plof-detail .arrow-right2::after {
    content: ''; /* 画像や疑似要素のみ表す場合は空に */
    width: 10px; /* くの字を山なりに見た時、左側の長さ */
    height: 10px; /* くの字を山なりに見た時、右側の長さ */
    border-top: solid 3px #fff;/* くの字を山なりに見た時、左側の太さと色 */
    border-right: solid 3px #fff;/* くの字を山なりに見た時、右側の太さと色 */
    position: absolute;
    left: 54px;/* 小コンテナ内 */
    top: 4px;/* 小コンテナ内 */
    transform: rotate(45deg);/* くの字の向き */
}
@media (max-width: 575.98px) {
    .summary .plof-btn a.plof-detail .arrow-right2::after {
        width: 8px; /* くの字を山なりに見た時、左側の長さ */
        height: 8px; /* くの字を山なりに見た時、右側の長さ */
        border-top: solid 2px #fff;/* くの字を山なりに見た時、左側の太さと色 */
        border-right: solid 2px #fff;/* くの字を山なりに見た時、右側の太さと色 */
        left: 8px;/* 小コンテナ内 */
        top: 0px;/* 小コンテナ内 */
    }
}

/* 以下、事業概要 */
.main-works{
    display: grid;
    justify-content: center;
    align-items: center;
    padding: 96px 0;
    background-color: #fff;
}
@media (max-width: 575.98px) {
    .main-works{
        padding: 48px 0;
    }
}

.main-works .main-work{
    display: grid;
    justify-items: center;
    align-items: center;
    text-align: center;
}
    
.hd-h2{/*共通クラス名*/
    display:inline;
    font-size: 31.25px;
    font-weight: bold;
    color: #590000;
    background: linear-gradient(to bottom , transparent 50% , #ffe4e1 60%);
}
@media (max-width: 991.98px) {
    .hd-h2{
        font-size: 31.25px;
    }
}
@media (max-width: 575.98px) {
    .hd-h2{
        font-size: 20px;
    }
}

.hd-p{/*共通クラス名*/
    font-size: 20px;
    font-weight: 500;
    color: #202020;
    line-height: 1.5;
    margin-top: 40px;
}
@media (max-width: 991.98px) {
    .hd-p{
        font-size: 16px;
    }
}
@media (max-width: 575.98px) {
    .hd-p{
        font-size: 14px;
        margin-top: 24px;
    }
}

.main-works .main-work .hd-p span.about-work2{
    background: linear-gradient(to bottom , transparent 60% , #ffe4e1 50%);
}

.sp-only {
    display: none;
}
@media (max-width: 767.98px) {
    .sp-only {
        display: block;
    }
}

/*以下、事業内容項目*/
.main-works .works-wrap{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
@media (max-width: 991.98px) {
    .main-works .works-wrap{
        display: grid;
        justify-items: center;
        align-items: center;
        margin-top: 20px;
    }
}
@media (max-width: 575.98px) {
    .main-works .works-wrap{
        margin-top: 0;
    }
}

.main-works .works-wrap .works{
    max-width: 314px;
    width: calc(33.33% - 20px);
}
@media (max-width: 991.98px) {
    .main-works .works-wrap .works{
        display: flex;
        justify-content: center;
        align-items: flex-start;
        max-width: 800px;
        width: 90%;
        margin-top: 48px;
    }
}
@media (max-width: 575.98px) {
    .main-works .works-wrap .works{
        display: grid;
        margin-top: 24px;
    }
}

.main-works .works-wrap .works .circle-wrap{
    display: grid;
}

.main-works .works-wrap .works .circle-wrap .circle{
    z-index: 20;
    height:70px;/*以下、正丸セット*/
    width:70px;
    border-radius:50%;
    line-height:70px;
    text-align:center;
    background-color: #ff9bcd;
    position: relative;
    top: 55px;
    left: 15px;
}
@media (max-width: 991.98px) {
    .main-works .works-wrap .works .circle-wrap .circle{
        height:50px;/*以下、正丸セット*/
        width:50px;
        top: 0px;
        left: 0px;
    }
}
@media (max-width: 575.98px) {
    .main-works .works-wrap .works .circle-wrap .circle{
        display: none;
    }
}  
      

.main-works .works-wrap .works .circle-wrap .circle span.circle-number{
    font-size: 31.25px;
    font-weight: bold;
    color: #fff;
}
@media (max-width: 991.98px) {
    .main-works .works-wrap .works .circle-wrap .circle span.circle-number{
        font-size: 25px;
        position: relative;
        top: -10px;
    }
}


.main-works .works-wrap .works .circle-wrap img.pic{
    z-index: 10;
    display: grid;
    justify-items: center;
    align-items: center;
    width: 310px;
    height: 310px;
    border-radius: 50%;
    object-fit: cover;
}
@media (max-width: 991.98px) {
    .main-works .works-wrap .works .circle-wrap img.pic{
        width: 250px;
        height: 250px;
        position: relative;
        bottom: 50px;
    }
} 
@media (max-width: 767.98px) {
    .main-works .works-wrap .works .circle-wrap img.pic{
        width: 220px;
        height: 220px;
    }
} 
@media (max-width: 575.98px) {
    .main-works .works-wrap .works .circle-wrap img.pic{
        display: none;
    }
} 

/**/
.main-works .works-wrap .works .text-wrap img.pic02{
    display: grid;
    justify-items: center;
    align-items: center;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    object-fit: cover;
    margin-top: 8px;
}
@media (min-width: 575.98px) {
    .main-works .works-wrap .works .text-wrap img.pic02{
        display: none;
    }
}

.main-works .works-wrap .works .text-wrap{
    display: grid;
    justify-items: center;
    align-items: center;
}
@media (max-width: 991.98px) {
    .main-works .works-wrap .works .text-wrap{
        margin-left: 24px;
    }
}
@media (max-width: 767.98px) {
    .main-works .works-wrap .works .text-wrap{
        margin-left: 16px;
    }
}
@media (max-width: 575.98px) {
    .main-works .works-wrap .works .text-wrap{
        margin-left: 0;
    }
}

.main-works .works-wrap .works .text-wrap .work-titles{
    display: grid;
    justify-items: center;
    align-items: center;
}

.main-works .works-wrap .works .text-wrap .work-titles .work-title{
    font-size: 25px;
    font-weight: bold;
    margin-top: 24px;
    color: #202020;
}
@media (max-width: 991.98px) {
    .main-works .works-wrap .works .text-wrap .work-titles .work-title{
        margin-top: 0;
    }
}
@media (max-width: 767.98px) {
    .main-works .works-wrap .works .text-wrap .work-titles .work-title{
        font-size: 20px;
    }
}
@media (max-width: 575.98px) {
    .main-works .works-wrap .works .text-wrap .work-titles .work-title{
        margin-top: 16px;
        margin-right: 30px;
        font-size: 20px;
    }
}
span.circle-subnumber{/*575.98px以降の番号*/
    background-color: #ff9bcd;
    border-radius: 100%;
    position: relative;
    top: -2px;
    right: 8px;
    padding: 5px 10px;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
}
@media (min-width: 575.98px) {
    span.circle-subnumber{
        display: none;
    }
}

.main-works .works-wrap .works .text-wrap .work-titles .sub-title{
    font-family: "Calibri" , "游ゴシック" , "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
    font-size: 16px;
    font-weight: bold;
    color: #eb4f55;
    margin-top: 8px;
}
@media (max-width: 767.98px) {
    .main-works .works-wrap .works .text-wrap .work-titles .sub-title{
        font-size: 12.8px;
    }
}


.main-works .works-wrap .works .text-wrap .work{
    display: grid;
    justify-items: center;
    align-items: flex-start;
    font-size: 16px;
    font-weight: 500;
    color: #202020;
    margin-top: 24px;
    word-wrap: break-word;
    line-height: 1.5;
    text-align: left;
}
@media (max-width: 991.98px) {
    .main-works .works-wrap .works .text-wrap .work{
        max-width: 600px;
        width: 100%;
    }
}
@media (max-width: 575.98px) {
    .main-works .works-wrap .works .text-wrap .work{
        width: 90%;
        font-size: 14px;
        margin-top: 16px;
    }
}
@media (max-width: 320.98px) {
    .main-works .works-wrap .works .text-wrap .work{
        width: 100%;
    }
}

/*以下、ボタン*/
.work-btn{
    margin-top: 24px;
}
@media (max-width: 575.98px) {
    .work-btn{
        margin-top: 16px;
    }
}

.btn-wrap{
    background-color: #9aca4f;
    display: grid;
    justify-items: center;
    align-items: center;
    width: 200px;
    height: 45px;
    border-radius:22px;
}
@media (max-width: 575.98px) {
    .btn-wrap{
        width: 150px;
        height: 35px;
        border-radius:22px;
    }
}
.btn-wrap:hover{
    box-shadow: none;
    transform: scale(0.99, 0.99) translateY(2px);
    cursor: pointer;
}
.btn-wrap a.detail-text{
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;/* リンク下線無 */
    font-size: 16px;
    font-weight: 500;
    color: #fff;
}
@media (max-width: 575.98px) {
    .btn-wrap a.detail-text{
        font-size: 14px;
    }
}

.btn-wrap a.detail-text .arrow-right3{
    position: relative;
    display: inline-block;
    padding: 4px;/*矢印アイコンのスペースを空けるため*/
}
@media (max-width: 575.98px) {
    .btn-wrap a.detail-text .arrow-right3{
        padding: 4.5px;/*矢印アイコンのスペースを空けるため*/
    }
}

.btn-wrap a.detail-text .arrow-right3::after {
    content: ''; /* 画像や疑似要素のみ表す場合は空に */
    width: 8px; /* くの字を山なりに見た時、左側の長さ */
    height: 8px; /* くの字を山なりに見た時、右側の長さ */
    border-top: solid 2px #fff;/* くの字を山なりに見た時、左側の太さと色 */
    border-right: solid 2px #fff;/* くの字を山なりに見た時、右側の太さと色 */
    position: absolute;
    left: 22px;/* 小コンテナ内 */
    top: -1px;/* 小コンテナ内 */
    transform: rotate(45deg);/* くの字の向き */
}
@media (max-width: 575.98px) {
    .btn-wrap a.detail-text .arrow-right3::after {
        left: 8px;/* 小コンテナ内 */
        top: 0px;/* 小コンテナ内 */
    }
}

/*相談の流れ*/
.flow{
    background: url(images/sora.png) no-repeat top / cover;;
}
.flow .flow-bg{
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.5);
}
.flow .flow-bg .flow-wrap{
    display: grid;
    justify-items: center;
    align-items: center;
    padding: 96px 0;
}
@media (max-width: 575.98px) {
    .flow .flow-bg .flow-wrap{
        padding: 48px 0;
    }
}

.flow .flow-bg .flow-wrap .flow-btn{
    margin-top: 32px;
}
.flow .flow-bg .flow-wrap .flow-btn:hover{
    box-shadow: none;
    transform: scale(0.99, 0.99) translateY(2px);
}

/*お知らせ*/
section.blog{
    background-color: #fff;
    display: grid;
    justify-items: center;
    align-items: center;
    padding: 96px 0;   
    margin-right: auto;
    margin-left: auto;
}


 .blog-wrap {
    display: grid;
    justify-items: center;
    align-items: center;
}

 .ameba-wrap{
    display: grid;
    margin-top: 48px;
    padding: 24px;
    border: 1px dotted #8a8a8a;
    max-width: 900px;
    width: 100%;
}
@media (max-width: 575.98px) {
     .ameba-wrap{
        max-width: 500px;
        width: 100%;
        padding: 16px;
    }
}
 .ameba-wrap .ameba-wrap_title{
    font-size: 20px;
    font-weight: 500;
    color: #202020;
    padding-bottom: 24px;
    border-bottom: #8a8a8a dotted 1px;
}
@media (max-width: 575.98px) {
     .ameba-wrap .ameba-wrap_title{
        font-size: 16px;
        padding-bottom: 16px;
    }
}

 .ameba-wrap .ameba-article{
    display: flex;
    border-bottom: #8a8a8a dotted 1px;
    padding: 24px 0;
}
@media (max-width: 575.98px) {
     .ameba-wrap .ameba-article{
        padding: 16px 0;
    }
}

 .ameba-wrap .ameba-article:last-child {
    border-bottom: none;
    padding: 24px 0 0 0;
}
@media (max-width: 575.98px) {
     .ameba-wrap .ameba-article:last-child {
        padding: 16px 0 0 0;
    }
}
.ameba-wrap .ameba-article p:not([class]){/* クラスがついていないpタグのみに適用 */
    display: none;
}

/*タイトル+記事文章が極端に短い場合、レイアウトが崩れないよう極端なパターン(タイトルが短い～長い/画像が小さい～大きいなど)を想定してチェックを入れる*/
.ameba-wrap .ameba-article .ameba-pic{
    width: 200px;
    min-width: 200px;
    height: 160px;
    object-fit: cover;
    object-position: center;
}
@media (max-width: 767.98px) {
    .ameba-wrap .ameba-article .ameba-pic{
        width: 150px;
        min-width: 150px;
    }
}
@media (max-width: 575.98px) {
    .ameba-wrap .ameba-article .ameba-pic{
        width: 80px;
        min-width: 80px;
        height: 115px;
    }
}

 .ameba-wrap .ameba-article{
    justify-content: left;
    text-decoration: none;
}
.ameba-wrap .ameba-article .ameba-box{
    margin-left: 24px;
    display: block;
    width: 100%;
}

 .ameba-wrap .ameba-article .ameba-box .ameba-title a{
    font-size: 20px;
    font-weight: 500;
    color: #6e6efb;
    margin-bottom: 24px;
    line-height: 1.35;
}
@media (max-width: 767.98px) {
     .ameba-wrap .ameba-article .ameba-box .ameba-title a{
        font-size: 16px;
        margin-bottom: 16px;
    }
}
 .ameba-wrap .ameba-article .ameba-box:hover .ameba-title a{
    color: #eb4f55;
    text-decoration: underline 1px #eb4f55;
    text-underline-offset: 4px;
}

 .ameba-wrap .ameba-article .ameba-box .ameba-p{
    font-size: 14px;
    font-weight: 300;
    color: #202020;
    margin-bottom: 16px;
    line-height: 1.5;
    margin-top: 1em;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
@media (max-width: 767.98px) {
    .ameba-wrap .ameba-article .ameba-box .ameba-p{
        margin-bottom: 8px;
    }
}
@media (max-width: 575.98px) {
    .ameba-wrap .ameba-article .ameba-box .ameba-p{
        display: none;
    }
}

 .ameba-wrap .ameba-article .ameba-box .ameba-date{
    font-size: 12.8px;
    font-weight: 500;
    color: #202020;
    text-align: end;
}
@media (max-width: 575.98px) {
     .ameba-wrap .ameba-article .ameba-box .ameba-date{
        margin-top: 4px;
        font-size: 12px;
    }
}


/*よくある質問*/
.question{
    background-color: #ffeef7;
    padding: 96px 0;
}
@media (max-width: 575.98px) {
    .question{
        padding: 48px 0;
    }
}

.question .qa{
    display: flex;
    justify-content: center;
    align-items: start;
}
@media (max-width: 767.98px) {
    .question .qa{
        display: block;
        justify-content: center;
        align-items: center;
    }
}

.question .qa .qa-texts{
    display: grid;
    justify-items: center;
    align-items:center;

}

.question .qa .qa-texts .qa-h2{
    font-size: 31.25px;
    font-weight: bold;
    color: #590000;
}
@media (max-width: 991.98px) {
    .question .qa .qa-texts .qa-h2{
        font-size: 31.25px;
    }
}
@media (max-width: 575.98px) {
    .question .qa .qa-texts .qa-h2{
        font-size: 20px;
    }
}

.question .qa .qa-texts .qa-btn01{
    margin-top: 40px;
}
@media (max-width: 767.98px) {
    .question .qa .qa-texts .qa-btn01{
        display: none;
    }
}

.question .qa .qa-texts .qa-btn01:hover{
    box-shadow: none;
    transform: scale(0.99, 0.99) translateY(2px);
}
.question .qa .qa-wrap{
    display: grid;
    max-width: 760px;
    width: 90%;
    margin-left: 144px;
}
@media (max-width: 767.98px) {
    .question .qa .qa-wrap{
        margin-top: 24px;
        margin-left: 0;
        width: 100%;
    }
}
@media (max-width: 575.98px) {
    .question .qa .qa-wrap{
        margin-top: 16px;
    }
}


/*アコーディオン*/
.qa-006 {
    border-bottom: 1px solid #eb4f55;
}

.qa-006 summary {
    display: flex;
    justify-content: left;
    align-items: center;
    position: relative;
    padding: 1em 3em;
    color: #202020;
    font-weight: bold;
    font-size: 20px;
    cursor: pointer;
    line-height: 1.5;
}
@media (max-width: 767.98px) {
    .qa-006 summary {
        font-size: 16px;
    }
}
@media (max-width: 575.98px) {
    .qa-006 summary {
        font-size: 14px;
    }
}

.qa-006 summary::before,
.qa-006 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 20px;
    width: 1em;
    text-align: center;
}
@media (max-width: 575.98px) {
    .qa-006 summary::before,
    .qa-006 p::before {
        font-size: 16px;
    }
}

.qa-006 summary::before {
    color: #eb4f55;
    content: "Q";
}
.qa-006 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    position: absolute;
    right: 10px;
    border-bottom: 3px solid #202020;
    border-right: 3px solid #202020;
    content: '';
    transition: transform .5s;
}


.qa-006[open] summary::after {
    transform: rotate(225deg);
}
.qa-006 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 1em 4em;
    font-weight: 500;
    color: #202020;
    font-size: 16px;
    line-height: 1.5;
    transition: transform .5s, opacity .5s;
      /* 閉じている状態 */
    border-top: 0 white solid;
    padding-top: 0;
    padding-bottom: 0;
    /* 閉じるアニメーション */
    transition:
    border-top     .3s ease-out,
    padding-top    .3s ease-out,
    padding-bottom .3s ease-out;
}
@media (max-width:767.98px) {
    .qa-006 p {
        padding: .3em 3em 1.5em;
    }
}
@media (max-width:575.98px) {
    .qa-006 p {
        font-size: 14px;
    }
}

.qa-006[open] p {
    transform: none;
    opacity: 1;
    /* 開いている状態 */
    padding-top: 13px;
    padding-bottom: 13px;
    /* 開くアニメーション */
    transition:
    border-top     .3s ease-out,
    padding-top    .3s ease-out,
    padding-bottom .3s ease-out;
}
.qa-006 p::before {
    color: #202020;
    line-height: 1.5;
    content: "A";
}
@media (min-width: 575.98px) {
    .qa-006 p::before {
        font-size: 20px;
    }
}


.question .qa .qa-btn02{
    margin: 0 auto;
    margin-top: 24px;
}
@media (min-width: 767.98px) {
    .question .qa .qa-btn02{
        display: none;
    }
}

/*ご予約・お問い合わせ*/
.contact-info{
    background-image: url(images/AnimatedShape.svg) !important;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding: 48px 0;
}
@media (max-width: 575.98px) {
    .contact-info{
        padding: 24px 0;
    }
}

.contact-info .infomation{
    display: grid;
    justify-items: center;
    align-items: center;
    color: #fff;
}

.contact-info .infomation .info{
    font-size: 31.25px;
    font-weight: bold;
}
@media (max-width: 575.98px) {
    .contact-info .infomation .info{
        text-align: center;
        font-size: 20px;
    }
}
@media (max-width: 320.98px) {
    .contact-info .infomation .info{
        width: 230px;
        text-align: center;
        line-height: 1.2;
    }
}

.contact-info .infomation .about003{
    font-size: 20px;
    font-weight: 500;
    margin-top: 16px;
}
@media (max-width: 575.98px) {
    .contact-info .infomation .about003{
        font-size: 14px;
    }
}

.contact-info .contact-wrap {
    max-width: 1271.94px;
    width: 90%;
    margin-right: auto;
    margin-left: auto;
}
@media (max-width: 1199.98px) {
    .contact-info .contact-wrap{
        max-width: 1100px;
        width: 90%;
    }
}
@media (max-width: 991.98px) {
    .contact-info .contact-wrap{
        max-width: 800px;
    }
}
@media (max-width: 575.98px) {
    .contact-info .contact-wrap{
        max-width: 450px;
    }
}
@media (max-width: 320.98px) {
    .contact-info .contact-wrap{
        max-width: 300px;
    }
}
.contact-info .contact-wrap .info-wrap{
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 100px;
}
@media (max-width: 1199.98px) {
    .contact-info .contact-wrap .info-wrap{
        flex-direction: column;
        justify-content: center;
        column-gap: 0;
    }
}

/*オンライン予約*/
.contact-info .contact-wrap .info-wrap a.info-link2{
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(33.3333% - 29px);
    height: 160px;
    border-radius: 20px;
    margin-top: 48px;
    text-decoration: none;
}
@media (max-width: 1199.98px) {
    .contact-info .contact-wrap .info-wrap a.info-link2{
        max-width: 800px;
        width: 90%;
    }
}
@media (max-width: 767.98px) {
    .contact-info .contact-wrap .info-wrap a.info-link2{
        max-width: 500px;
        width: 90%;
    }
}
@media (max-width: 575.98px) {
    .contact-info .contact-wrap .info-wrap a.info-link2{
        max-width: 300px;
        height: 130px;
        margin-top: 24px;
    }
}
.contact-info .contact-wrap .info-wrap a.info-link2:hover{
    box-shadow: none;
    transform: scale(0.99, 0.99) translateY(2px);
}

img.info-icons2{
    width: 55px;
    height: auto;
    margin-left: -10px;
    margin-right: 10px;
}
@media (max-width: 1199.98px) {
    img.info-icons2{
        margin-left: -40px;
        margin-right: 30px;
    }
}
@media (max-width: 575.98px) {
    img.info-icons2{
        width: 32px;
        margin-left: -32px;
        margin-right: 30px;
    }
}

.guidance{/*予約お問い合わせ共通*/
    text-align: center;
    font-size: 25px;
    font-weight: bold;
    color: #ff9bcd;
    line-height: 1;
}
@media (max-width: 575.98px) {
    .guidance{
        font-size: 20px;
    }
}

span.guidance3{/*予約お問い合わせ共通*/
    font-size: 20px;
}
@media (max-width: 575.98px) {
    span.guidance3{
        font-size: 14px;
    }
}

/*お問い合わせ*/
.contact-info .contact-wrap .info-wrap a.info-link3{
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(33.3333% - 29px);
    height: 160px;
    border-radius: 20px;
    margin-top: 48px;
    text-decoration: none;
}
@media (max-width: 1199.98px) {
    .contact-info .contact-wrap .info-wrap a.info-link3{
        max-width: 800px;
        width: 90%;
    }
}
@media (max-width: 767.98px) {
    .contact-info .contact-wrap .info-wrap a.info-link3{
        max-width: 500px;
        width: 90%;
    }
}
@media (max-width: 575.98px) {
    .contact-info .contact-wrap .info-wrap a.info-link3{
        max-width: 300px;
        height: 130px;
        margin-top: 24px;
        
    }
}

.contact-info .contact-wrap .info-wrap a.info-link3:hover{
    box-shadow: none;
    transform: scale(0.99, 0.99) translateY(2px);
}

img.info-icons{
    width: 55px;
    height: auto;
    margin-left: -4px;
    margin-right: 16px;
}
@media (max-width: 575.98px) {
   img.info-icons{
        width: 32px;
    }
}

/*WordPress内にプラグインを入れたことによる追加cssお問い合わせ*/
.wpcf7 {
    max-width: 800px;/* お好きな横幅に */
    width: 100%;/* 画面幅を縮めると横幅が縮むように */
    margin-left: auto;
    margin-right: auto;
    /* 左右中央に配置 */
}

.contact-content {
    width: 100%;
    margin: 96px auto;
  }
@media (max-width: 575.98px) {
    .contact-content {
        width: 100%;
        margin: 48px auto;
    }
}
  .contact-content-inner,
  .contact-content-inner2{
    display:flex;
    justify-content:flex-start;
    align-items:center;
    font-size:16px;
    font-weight:500;
    color:#202020;
    margin-bottom:24px;
  }
@media (max-width: 767.98px) {
    .contact-content-inner{
        display:block
    }
}

  .contact-content-inner >dd{
    width: calc(100% - 300px);
  }
  @media (max-width: 767.98px) {
    .contact-content-inner >dd{
        margin-top: 8px;
        width: 100%;
    }
  }
  
  dt{
    display:flex;
      justify-items:center;
      align-items:center;
      column-gap:8px;
      width:300px;
      font-size: 16px;
      font-weight: 500;
    }

  @media (max-width: 767.98px) {
    dt{
        font-size: 14px;
    }
}

  dt .color-pink,dt .color-black{
    border-radius: 6px;
    padding:4px;
    font-size:12px;
    font-weight:bold;
    color:#fff;
  }
  dt .color-pink{
    background-color:#ff9bcd;
  }
  dt .color-black{
    background-color:#878787;
  }
  
  dd{
      display:flex;
      justify-content:left;
      align-items:center;
      font-size: 16px;
      font-weight: 500;
    }

  @media (max-width: 767.98px) {
    dd{
        font-size: 14px;
    }
}

.wpcf7-form-control:not(.wpcf7-acceptance){/*入力フォーム共通*/
    max-height: 200px;
    border-radius: 8px;
    border: #ed85a0 solid 1px;
    padding: 8px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
}

.contact-content-inner .name-wrap {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1em;
}

  .name-box input{/*box大きさ調整*/
    padding: 6px;
}

.contact-content-inner dd .name {
    display: flex;
    gap: .5em;
    align-items: center;
}

  .contact-content-inner2{
    justify-content:center;
  }
  
  .contact-content-inner2 .btn{
      font-size:16px;
      font-weight:500;
      color:#202020;
      text-decoration:none;
      border-bottom:solid #202020 1px;
  
  }
  .contact-content-inner2 .btn:hover{
      color:#ef4050;
      border-bottom:solid #ef4050 1px;
  }

  .wpcf7-form .btn2 {
    text-align: center;
}

.wpcf7 input.wpcf7-previous,
.pushbutton-wide{
    border:solid #9aca4f 3px ;
    padding: 16px;
    max-width: 200px;
    width: 90%;
    color: #9aca4f;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 500;
}

.wpcf7 input[type="submit"] ,
.pushbutton-wide{
    background-color: #9aca4f;
    border:none;
    padding: 16px;
    max-width: 200px;
    width: 90%;
    color: #fff;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 500;
}

.contact-content-inner .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}
.contact-content-inner .wpcf7-form-control-wrap[data-name="date-selection"],
.contact-content-inner .wpcf7-form-control-wrap[data-name="date-selection2"],
.contact-content-inner .wpcf7-form-control-wrap[data-name="date-selection3"],
.contact-content-inner .wpcf7-form-control-wrap[data-name="menu-time"],
.contact-content-inner .wpcf7-form-control-wrap[data-name="menu-time2"],
.contact-content-inner .wpcf7-form-control-wrap[data-name="menu-time3"],
.contact-content-inner .wpcf7-form-control-wrap[data-name="menu-time4"],
.contact-content-inner .wpcf7-form-control-wrap[data-name="menu-time5"],
.contact-content-inner .wpcf7-form-control-wrap[data-name="menu-time6"]{
    width: auto;
}
 
.contact-content-inner .wpcf7-form-control-wrap input,
.contact-content-inner .wpcf7-form-control-wrap textarea,
.contact-content-inner .wpcf7-form-control-wrap select {
    width: 100%;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
}

/*WordPress内にプラグインを入れたことによる追加cssご予約*/
.time-wrap{
    display: block;
    justify-content:center;
    font-size: 14px;
}
.time-wrap .time-box{
    display: flex;
    column-gap: 8px;
    margin: 0 0 24px;
    font-size: 14px;
    align-items: center;
    white-space: nowrap;/*指定範囲を超えても折り返さない指定*/
}

.time-wrap .time-box:last-child{
    margin-bottom: 0;
}

/*========= ページトップのためのCSS ===============*/
/*リンクの形状*/
#page-top a{
	display: flex;
	justify-content:center;
	align-items:center;
	background:#e3007e;
	border-radius: 10px;
	width: 60px;
	height: 60px;
    font-weight: 500;
	color: #fff;
	text-align: center;
    line-height: 1.5;
	text-transform: uppercase; 
	text-decoration: none;
	font-size:0.6rem;
	transition:all 0.3s;
}
@media (max-width:575.98px) {
    #page-top a{
        width: 40px;
        height: 40px;
        font-size: 8px;
        line-height: 1.2;
    }
}

#page-top a:hover{
	background: #590000;
}

/*リンクを右下に固定*/
#page-top {
	position: fixed;
	right: 10px;
	z-index: 2;
    /*はじめは非表示*/
	opacity: 0;
	transform: translateY(100px);
}

/*　上に上がる動き　*/
#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/
#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}
/*========= ページトップのためのCSS 終了===============*/

.footer{
    background-image: url(images/happa.png) !important;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    background-size: 35% auto;
    padding-bottom: 48px;
}
@media (max-width: 320.98px) {
    .footer{
        background-size: 50% auto;
    }
}

.footer .footer-wrap{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 96px 0 48px 0;
    width: 90%;
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
}
@media (max-width: 991.98px) {
    .footer .footer-wrap{
        align-items: flex-start;
        padding: 96px 0 64px 0;
    }
}
@media (max-width: 767.98px) {
    .footer .footer-wrap{
        padding: 48px 0 32px 0;
    }
}
@media (max-width: 575.98px) {
    .footer .footer-wrap{
        display: block;
    }
}

.footer .footer-wrap img.logo2{
    max-width: 180px;
    width: 100%;
    height: auto;
}
@media (max-width: 991.98px) {
    .footer .footer-wrap img.logo2{
        max-width: 165px;
        height: auto;
        padding-top: 40px;
    }
}
@media (max-width: 767.98px) {
    .footer .footer-wrap img.logo2{
        max-width: 135px;
        width: 90%;
        height: auto;
        padding: 0;
    }
}
@media (max-width: 575.98px) {
    .footer .footer-wrap img.logo2{
        display: none;
    }
}

.footer .footer-wrap .footer__navi-group{
    display: flex;
    justify-content: right;
    align-items: flex-start;
    gap: 40px;
    width: 100%;
    margin-left: 64px;
}
@media (max-width:991.98px) {
    .footer .footer-wrap .footer__navi-group{
        display: grid;
        gap: 24px 64px;
        margin-left: 96px;
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width:767.98px) {
    .footer .footer-wrap .footer__navi-group{
        gap: 24px 48px;
        margin-left: 56px;
    }
}
@media (max-width:575.98px) {
    .footer .footer-wrap .footer__navi-group{
        width: 100%;
        margin: 0 auto;
        gap: 24px 8px; 
    }
}
@media (max-width:390.98px) {
    .footer .footer-wrap .footer__navi-group{
        display: grid;
        justify-content: left;
        align-items: center;
        width: 100%;
        grid-template-columns: 1fr;
    }
}

.footer .footer-wrap .footer__navi-group .footer__navi-list{
    display: grid;
    align-items: center;
    /* width: calc( 25% - 16px);*/
    width: calc((100% - (30px * 3)) / 4);
    /* 30pxは.footer__navi-groupで設定したgapの値です */
    /* 4つの要素間の余白は3箇所あるので、3を掛けています */
    /* 要素が4つあるので、100% - (30px * 3)で出た値を4で割っています。 */
}
@media (max-width: 1199.98px) {
    .footer .footer-wrap .footer__navi-group .footer__navi-list{
        width: auto;
    }
}

.footer .footer-wrap .footer__navi-group .footer__navi-list .footer__navi-heading{
    font-size: 16px;
    font-weight: bold;
    color: #202020;
    border-bottom: 3px solid #ff9bcd;
    margin-bottom: 16px;
}
@media (max-width: 1199.98px) {
    .footer .footer-wrap .footer__navi-group .footer__navi-list .footer__navi-heading{
        font-size: 20px;
    }
}

@media (max-width: 575.98px) {
    .footer .footer-wrap .footer__navi-group .footer__navi-list .footer__navi-heading{
        font-size: 16px;
    }
}

.footer .footer-wrap .footer__navi-group .footer__navi-list nav.footer__navi{
    display: grid;
    justify-content: left;
    align-items: center;
 }
ul.footer-nav{
    display: grid;
    justify-items: left;
    align-items: center;
}
ul.footer-nav > li > a{
    display: inline-block;/*リンクアイコン横づけ方法①一旦、リンク下にアイコンが表示されるように設定*/
    font-size: 14px;
    font-weight: 500;
    color: #202020;
    text-decoration: none;
    line-height: 1.5;
    padding: 4px 0;
}
@media (max-width: 575.98px) {
    ul.footer-nav > li > a{
        font-size: 12.8px;
        display: inline-block;
    }
}

/*WordPress内のメニュー横に設置するアイコンの設定*/
/* アイコンを配置したい要素に「position: relative;」を記述 */
.f-linkicon{
    position: relative;
  }

/* リンクアイコン横づけ方法②テキストの後ろに追加されるようにafterにする。beforeにすると前に追加される */
.f-linkicon a::after {
    /* 基本的に変更しないプロパティ */
    content: '';
    /* marginが使えるようにするためにinline-blockにする */
    /* inline-blockにするとテキストの後ろに追加することができる */
    display: inline-block;
    margin-left: 0.5em;
    /* アイコンのサイズを調整するプロパティ */
    width: 0.8em;
    height: 0.8em;
    /* 表示させるアイコンのパスを指定 */
    background-image: url(images/link-202020.svg);
    background-position: right;
    background-repeat: no-repeat;
    background-size: contain;
}
/*WordPress内のメニュー横に設置するアイコンの設定終了*/

ul.footer-nav >  li:hover > a{
    color: #eb4f55;
}
.footer .footer-logo{
    display: grid;
    align-items: center;
}
.footer .footer-logo img.logo3{/**/
    width: 110px;
    height: auto;
    margin: 0 auto 16px auto;
}
@media (min-width: 575.98px) {
    .footer .footer-logo img.logo3{
        display: none;
    }
}

.footer .footer-logo .copyright{
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    color: #202020;
}

/*下層ページ　代表プロフィール・実績*/
.kv-lower_page{
    display: grid;
    justify-items: center;
    align-items: center;
    background: linear-gradient(to bottom, transparent 0%, transparent 70%, #fff 100%), url(images/sora2.png) !important;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding: 300px 0 244px 0;
}
@media (max-width: 1199.98px) {
    .kv-lower_page{
        padding: 244px 0 144px 0;
    }
}
@media (max-width: 767.98px) {
    .kv-lower_page{
        padding: 200px 0 100px 0;
    }
}
@media (max-width: 575.98px) {
    .kv-lower_page{
        padding:  90px 0 50px 0;
    }
}
@media (max-width: 320.98px) {
    .kv-lower_page{
        padding:  70px 0 50px 0;
    }
}
.kv-lower_page .main-title{
    font-size: 48.83px;
    font-family: "Calibri", sans-serif;
    font-weight: bold;
    color: #fff;
    text-shadow: 0 3px 7px #1b2ba1; /*横にpx・縦にpx・ぼかしpx・影の色*/
}
@media (max-width: 991.98px) {
    .kv-lower_page .main-title{
        font-size: 39.06px;
    }
}
@media (max-width: 575.98px) {
    .kv-lower_page .main-title{
        font-size: 20px;
    }
}

/*下層全ページ共通(phpパンくずプラグイン用）*/
.breadcrumbs{
    font-size: 14px;
    font-weight: 500;
    color: #202020;
}
@media (max-width: 575.98px) {
    .breadcrumbs{
        font-size: 12px;
    }
}
.breadcrumbs a{
    color: #202020;
}

.breadcrumbs a:hover{
    color: #eb4f55;
}


/**/
.content01{
    display: grid;
    justify-items: center;
    align-items: center;
    padding: 96px 0;
}
@media (max-width:575.98px) {
    .content01{
        padding: 48px 0;
    }
}

.content-wrap{/**/
    display: grid;
    justify-items: center;
    align-items: center;
}

.content01 .content-wrap .profile-wrap{
    display: flex;
    justify-content: left;
    align-items: center;
    column-gap: 24px;
}
@media (max-width:767.98px) {
    .content01 .content-wrap .profile-wrap{
        display: grid;
        justify-items: center;
        column-gap: 0px;
    }
}

@media (max-width:991.98px) {
    .content01 .content-wrap .profile-wrap .eri{
        max-width: 300px;
        width: 100%;
        
    }
}
@media (max-width:767.98px) {
    .content01 .content-wrap .profile-wrap .eri{
        max-width: 430px;
        margin-bottom: 20px;      
    }
}


.prof02{
    display: block;
    justify-items: left;
    align-items: center;
}

.content-title{/**/
    display:inline;
    font-size: 39.06px;
    font-weight: bold;
    color: #590000;
    background: linear-gradient(to bottom , transparent 60% , #ffe4e1 60%);/*linear-gradient(方向　transparent 透明の割合％, 線の色 色の割合％)*/
    margin-bottom: 40px;
}
@media (max-width: 991.98px) {
    .content-title{
        font-size: 31.25px;
    }
}
@media (max-width: 575.98px) {
    .content-title{
        font-size: 20px;
        margin-bottom: 24px;
    }
}

.content02{
    display: grid;
    justify-content: center;
    align-items: center;
    padding: 96px 0;
    background-color: #ffeef7;
}
@media (max-width:575.98px) {
    .content02{
        padding: 48px 0;
    }
}


/*略歴*/
.timeline{
    display: block;
    justify-content: left;
    align-items: center;
    border-left: #ff9bcd 2px solid;
    max-height: 99%;
}
.timeline li{
    display: flex;
    align-items: flex-start;
    margin: 24px 0;
}
.timeline li:first-child{
    display: flex;
    margin: 0 0 24px 0;
}
.timeline li:last-child{
    display: flex;
    margin: 24px 0 0 0;
}

.border-radius{
    position: relative;
    right: 9px;
    background: #ff9bcd;
    border-radius: 100%;
    width: 16px;
    height: 16px;
}
@media (max-width:991.98px) {
    .border-radius{
        right: 8px;
        width: 14px;
        height: 13px;
    }
}
.timeline-text{
    font-size: 16px;
    font-weight: 500;
    color: #202020;
}
@media (max-width:991.98px) {
    .timeline-text{
        font-size: 14px;
    }
}

.timeline-wrap{
    display: grid;
    justify-items: left;
    margin-left: 8px;
    max-width: 1000px;
    width: 90%;
}
@media (max-width:767.98px) {
    .timeline-wrap{
        width: 80%;
    }
}
@media (max-width:575.98px) {
    .timeline-wrap{
        width: 70%;
    }
}

.timeline-text02{
    font-size: 16px;
    font-weight: 500;
    color: #202020;
    line-height: 1.5;
    margin-top: -4px;
}
@media (max-width:991.98px) {
    .timeline-text02{
        font-size: 14px;
    }
}

/*専門分野*/
.field-wrap{
    display: grid;
    justify-items: center;
    align-items: center;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 24px;
}
@media (max-width:991.98px) {
    .field-wrap{
        gap: 20px;
    }
}
@media (max-width:767.98px) {
    .field-wrap{
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width:575.98px) {
    .field-wrap{
        grid-template-columns: 1fr;
    }
}
.field-box{
    display: grid;
    justify-content: left;
    align-items: center;
    background-color: #ff9bcd;
    border-radius: 30px;
    padding: 40px;
    color: #fff;
}
@media (max-width:1199.98px) {
    .field-box{
        padding: 40px 24px;
    }
}
@media (max-width:991.98px) {
    .field-box{
        padding:32px 20px;
    }
}
@media (max-width:575.98px) {
    .field-box{
        padding:20px;
    }
}
.field-box h4{
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}
@media (max-width:991.98px) {
    .field-box h4{
        font-size: 16px;
    }
}
.field-box p{
    margin-top: 24px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
}
@media (max-width:991.98px) {
    .field-box p{
        font-size: 14px;
    }
}
@media (max-width:575.98px) {
    .field-box p{
        margin-top: 16px;
    }
}

/*主要実績*/
.content02 .content-wrap .achievement{
    background-color: #fff;
    border-radius: 30px;
    padding: 40px;
    color: #202020;
}
@media (max-width:575.98px) {
    .content02 .content-wrap .achievement{
        padding: 24px;
    }
}
.content-h4{/**/
    display: inline-block;
    font-size: 20px;
    font-weight: bold;
    border-bottom: dotted #202020 1px;
    margin-bottom: 16px;
}
@media (max-width:991.98px) {
    .content-h4{
        font-size: 16px;
    }
}
.content-p{/**/
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    margin-bottom: 48px;
}
@media (max-width:991.98px) {
    .content-p{
        font-size: 14px;
    }
}
@media (max-width:991.98px) {
    .content-p{
        margin-bottom: 24px;
    }
}
.content-p:last-child{/**/
    margin-bottom: 0;
}
.content01 .content-wrap .entertainment{/**/
    background-color: #ffeef7;
    border-radius: 30px;
    padding: 40px;
    color: #202020;
}

/*下層ページ　コンセプト*/
.content01 h5{
    font-size: 31.25px;
    font-weight: 500;
    color: #202020;
    margin: 40px 0;
    line-height: 1.5;
}
@media (max-width: 991.98px) {
    .content01 h5{
        font-size: 20px;
        margin: 24px 0;
    }
    .content01 h5:last-child{
        margin: 24px 0 40px 0;
    }
}
@media (max-width: 575.98px) {
    .content01 h5{
        font-size: 16px;
        margin: 8px 0;
    }
    .content01 h5:last-child{
        margin: 8px 0 24px 0;
    }
}

.content01 .concept-wrap{
    display: flex;
    column-gap: 24px;
}
@media (max-width: 767.98px) {
    .content01 .concept-wrap{
        display: grid;
        align-items: center;
        column-gap: 0;
    }
}

.content01 .concept-wrap p{
    font-size: 16px;
    font-weight: 500;
    color: #202020;
    line-height: 1.5;
    max-width: 500px;
    width: 90%;
}
@media (max-width: 767.98px) {
    .content01 .concept-wrap p{
        font-size: 14px;
        max-width: none;
        width: 100%;
    }
}
@media (max-width: 575.98px) {
    .content01 .concept-wrap p{
        font-weight: 300;
    }
}
.content01 .concept-wrap img.tree-subillustration{
    display: grid;
    justify-items: right;
    max-width: 300px;
    width: 90%;
    height: auto;
}
@media (max-width: 767.98px) {
    .content01 .concept-wrap img.tree-subillustration{
        justify-items: center;
        margin: 24px auto 0 auto;
    }
}
@media (max-width: 575.98px) {
    .content01 .concept-wrap img.tree-subillustration{
        justify-items: center;
        margin: 0 auto;
    }
}

/*下層ページ　個人のお客様*/
.content02 .content-box{
    display: grid;
    justify-items: center;
    background-color: #fff;
    border-radius: 30px;
    padding: 60px;
    color: #202020;
    margin-bottom: 48px;
    padding: 40px;
}
@media (max-width: 575.98px) {
    .content02 .content-box{
        padding: 24px;
    }
}
@media (max-width: 532.98px) {
    .content02 .content-box{
        padding: 16px 24px;
    }
}


.content02 .content-box:last-child{
    margin-bottom: none;
}
@media (max-width: 575.98px) {
    .content02 .content-box:last-child{
        margin-bottom: -6px;
    }
}
.content02 .content-box .content-item{
    display: flex;
    justify-items: center;
    align-items: flex-start;
    margin-top: 24px;
    grid-template-columns: 1fr 1fr;
    column-gap: 16px;
}
@media (max-width:991.98px) {
    .content02 .content-box .content-item{
        display: grid;
        margin-top: 0;
        grid-template-columns: none;
        column-gap: none;
    }
}
.content02 .content-box .content-item .content-pic{
    max-width: 500px;
    width: 90%;
    height: auto;
}
@media (max-width:991.98px) {
    .content02 .content-box .content-item .content-pic{
        max-width: 400px;
        margin-bottom: 24px;
    }
}
@media (max-width:767.98px) {
    .content02 .content-box .content-item .content-pic{
        max-width: none;
        width: 100%;
    }
}
/*content-pは省略*/
.content03{
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 80px;
    margin: 72px auto 96px auto;
}
@media (max-width:767.98px) {
    .content03{
        column-gap: 40px;
    }
}
@media (max-width:575.98px) {
    .content03{
        column-gap: 24px;
        margin: 24px auto 48px auto;
    }
}
@media (max-width:320.98px) {
    .content03{
        display: grid;
        column-gap: none;
    }
}

/*下層ページ　個人のお客様　お客様の声*/
.content04{
    display: flex;
    justify-content: center;
    column-gap: 72px;
    margin-bottom: 96px;
}
@media (max-width:991.98px) {
    .content04{
        column-gap: 40px;
    }
}
@media (max-width:800.98px) {
    .content04{
        display: grid;
        column-gap: 0;
        row-gap: 48px;
    }
}
@media (max-width:575.98px) {
    .content04{
        row-gap: 24px;
        margin-bottom: 48px;
    }
}

.content04 .voice-box{
    display: grid;
    justify-content: center;
    align-items: start;
    max-width: 500px;
    width: 100%;
}
.content04 .voice-box .voice-wrap01{
    display: flex;
    justify-content: center;
    align-items: center;
    margin: -20px 0;
}

.content04 .voice-box .voice-wrap01 .voice-pic{
    max-width: 160px;
    width: 90%;
    height: auto;
}
@media (max-width:991.98px) {
    .content04 .voice-box .voice-wrap01 .voice-pic{
        max-width: 140px;
    }
}
@media (max-width:575.98px) {
    .content04 .voice-box .voice-wrap01 .voice-pic{
        max-width: 120px;
    }
}

.content04 .voice-box .voice-wrap01 h4{
    font-size: 25px;
    font-weight: bold;
    color: #590000;
    text-align: center;
    line-height: 1.5;
}
@media (max-width:991.98px) {
    .content04 .voice-box .voice-wrap01 h4{
        font-size: 20px;
    }
}
@media (max-width:575.98px) {
    .content04 .voice-box .voice-wrap01 h4{
        font-size: 16px;
    }
}
    
.content04 .voice-box .voice-wrap02{
    display: block;
    justify-items: center;
    background-color: #ffeef7;
    border-radius: 30px;
    padding: 40px;
    color: #202020;
    font-weight: 500;
    height: 300px;
}
@media (max-width:800.98px) {
    .content04 .voice-box .voice-wrap02{
        height: auto;
    }
}
@media (max-width:575.98px) {
    .content04 .voice-box .voice-wrap02{
        padding: 30px;

    }
}

.content04 .voice-box .voice-wrap02 .voice-p01{
    font-size: 16px;
    line-height: 1.5;
    padding-bottom: 24px;
}
@media (max-width:991.98px) {
    .content04 .voice-box .voice-wrap02 .voice-p01{
        font-size: 14px;
    }
}

.content04 .voice-box .voice-wrap02 .voice-p02{
    font-size: 14px;
    text-align: end;
}
@media (max-width:991.98px) {
    .content04 .voice-box .voice-wrap02 .voice-p02{
        font-size: 12.8px;
    }
}


/*下層ページ　相談の流れ*/
.content01 .content-wrap div .content-p a.link01{
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    color: #202020;
    border-bottom: solid 1.5px #202020;
}
@media (max-width:991.98px) {
    .content01 .content-wrap div .content-p a.link01{
        font-size: 14px;
    }
}
.content01 .content-wrap div .content-p a.link01:hover{
    color: #eb4f55;
    border-bottom: solid 1.5px #eb4f55;
}

.content01 .content-wrap div .content-p img.link-icon{
    width: 14px;
    height: auto;
    margin: 0 4px;
}
@media (max-width:991.98px) {
    .content01 .content-wrap div .content-p img.link-icon{
        width: 12px;
        margin: 0 2px;
    }   
}

.content05{
    display: flex;
    justify-content: center;
    column-gap: 24px;
    margin-bottom: 96px;
}
@media (max-width:991.98px) {
    .content05{
        display: grid;
        justify-items: center;
    }
}
@media (max-width:575.98px) {
    .content05{
        margin-bottom: 48px;
    }
}

.content05 .flow-box{
    display: grid;
    justify-content: center;
    align-items: start;
    max-width: 300px;
    width: 100%;
}
@media (max-width:991.98px) {
    .content05 .flow-box{
        max-width: 900px;
    }
}

.content05 .flow-box h1{
    font-size: 39.06px;
    font-weight: bold;
    color: #ff9bcd;
    position: relative;
    top: 20px;
    left: 10px;
}
@media (max-width:575.98px) {
    .content05 .flow-box h1{
        font-size: 25px;
    }
}

.content05 .flow-box .flow-wrap{
    display: grid;
    justify-items: center;
    align-content: start;
    background-color: #ffeef7;
    border-radius: 30px;
    padding: 32px;
    row-gap: 16px;
    height: 300px;
}
@media (max-width:1199.98px) {
    .content05 .flow-box .flow-wrap{
        height: 340px;
    }
}
@media (max-width:991.98px) {
    .content05 .flow-box .flow-wrap{
        height: auto;
        width: 740px;
    }
}
@media (max-width:767.98px) {
    .content05 .flow-box .flow-wrap{
        height: auto;
        width: 550px;
    }
}
@media (max-width:575.98px) {
    .content05 .flow-box .flow-wrap{
        align-content: center;
        padding: 24px;
        row-gap: 8px;
        height: 140px;
        width: 380px;
    }
}
@media (max-width:400.98px) {
    .content05 .flow-box .flow-wrap{
        padding: 16px;
        width: 300px;
    }
}

.content05 .flow-box .flow-wrap h4{
    font-size: 20px;
    font-weight: bold;
    color: #590000;
}
@media (max-width:575.98px) {
    .content05 .flow-box .flow-wrap h4{
        font-size: 16px;
    }
}

.content05 .flow-box .flow-wrap .flow-subwrap{
    display: grid;
    justify-items: center;
    align-items: center;
    row-gap: 16px;
}
@media (max-width:991.98px) {
    .content05 .flow-box .flow-wrap .flow-subwrap{
        display: flex;
        row-gap: 0;
        column-gap: 16px;
    }
}
@media (max-width:390.98px) {
    .content05 .flow-box .flow-wrap .flow-subwrap{
        column-gap: 8px;
    }
}

.content05 .flow-box .flow-wrap .flow-subwrap img.flow-icon{
    max-width: 100px;
    width: 100%;
    height: auto;
}
@media (max-width:991.98px) {
    .content05 .flow-box .flow-wrap .flow-subwrap img.flow-icon{
        max-width: 80px;
    }
}
@media (max-width:575.98px) {
    .content05 .flow-box .flow-wrap .flow-subwrap img.flow-icon{
        max-width: 50px;
    }
}

.content05 .flow-box .flow-wrap .flow-subwrap p{
    font-size: 16px;
    font-weight: 500;
    color: #202020;
    line-height: 1.5;
}
@media (max-width:575.98px) {
    .content05 .flow-box .flow-wrap .flow-subwrap p{
        font-size: 14px;
    }
}
@media (max-width:390.98px) {
    .content05 .flow-box .flow-wrap .flow-subwrap p{
        font-size: 14px;
    }
}

.content05 .flow-arrow{
    max-width: 50px;
    width: 100%;
    height: auto;
    transform: rotate(270deg)
}
@media (max-width:991.98px) {
    .content05 .flow-arrow{
        margin-top: 32px;
        transform: rotate(0deg)
    }
}
@media (max-width:575.98px) {
    .content05 .flow-arrow{
        margin-top: 24px;
        max-width: 30px;
    }
}

/*下層ページ　よくある質問*/
.tabs {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 auto;
}

.content06{
    position: relative;
    z-index: 1;
    cursor: pointer;
    flex: 1;
    padding: 5px 0;
    margin: 0 5px; 
}
@media (max-width:575.98px) {
    .content06{
        column-gap: 8px;
    }
}
@media (max-width:370.98px) {
    .content06{
        margin: 0 auto;
        max-width: 320px;
        width: 100%;
        column-gap: 2px;
    }
}

.tab_content {/*各コンテンツの非表示化する*/
    flex: 100%;
    display: none;
    overflow: hidden;
}

.tab_label{
    background-color: #efffd6;
    border-radius: 30px;
    width: 200px;
    height: 56px;
    display: grid;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    font-weight: bold;
    color: #9aca4f;
    margin-left: 8px;
}
@media (max-width:991.98px) {
    .tab_label{
        width: 160px;
    }
}
@media (max-width:767.98px) {
    .tab_label{
        width: 120px;
        height: 40px;
        font-size: 14px;
    }
}
@media (max-width:575.98px) {
    .tab_label{
        width: 110px;
        font-size: 12.8px;
    }
}
@media (max-width:370.98px) {
    .tab_label{
        width: 90px;
        font-size: 12px;
    }
}
.tab_label:hover {
    opacity: 0.75;
  }

input[name="tab_switch"] {
    display: none;
}
.tabs input:checked + .tab_label {
    background-color: #9aca4f;
    border-radius: 30px;
    width: 200px;
    height: 56px;
    display: grid;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    padding-top: 16px;
}
@media (max-width:991.98px) {
    .tabs input:checked + .tab_label{
        width: 160px;
    }
}
@media (max-width:767.98px) {
    .tabs input:checked + .tab_label{
        width: 120px;
        height: 40px;
        font-size: 14px;
        padding-top: 12px;
    }
}
@media (max-width:575.98px) {
    .tabs input:checked + .tab_label{
        width: 110px;
        font-size: 12.8px;
    }
}
@media (max-width:370.98px) {
    .tabs input:checked + .tab_label{
        width: 90px;
        font-size: 12px;
    }
}


.tabs input:checked + .tab_label::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: #9aca4f transparent transparent transparent;
    display: block;
    position: relative;
    top: 10px;
    left: 0;
    margin: 0 auto;
    transition: all 0.3s ease 0s;
}
@media (max-width:991.98px) {
    .tabs input:checked + .tab_label::after{
        top: 16px;
    }
}
@media (max-width:767.98px) {
    .tabs input:checked + .tab_label::after{
        top: 8px;
    }
}


#tab01:checked ~ #tab01_content,
#tab02:checked ~ #tab02_content,
#tab03:checked ~ #tab03_content {
  display: block;
}


.content07{
    margin-top: 8px;
    background-color: #ffeef7;
    padding: 96px 0;
    margin-bottom: 96px;
}
@media (max-width:575.98px) {
    .content07{
        padding: 48px 0;
        margin-bottom: 48px;
    }
}

.content07 .faq{
    display: block;
    align-items: center;
    background-color: #fff;
    border-radius: 30px;
    padding: 32px 64px;
    margin-top: 48px;
}
@media (max-width:767.98px) {
    .content07 .faq{
        padding: 24px;
        margin-top: 24px;
    }
}
.content07 .faq:first-child{
    margin-top: 0;
}

.content07 .faq .q,
.content07 .faq .a{
    display: flex;
    justify-items: left;
    align-items: flex-start;
    column-gap: 32px;
    margin-top: 16px;
    position: relative;
}

.content07 .faq .q h3,
.content07 .faq .a h3{
    display: inline-block;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    line-height: 32px;
    position: absolute;
}
.content07 .faq .q h3{
    background-color: #878787;
}
.content07 .faq .a h3{
    background-color: #ff9bcd;
}
@media (max-width:575.98px) {
    .content07 .faq .q h3,
    .content07 .faq .a h3{
        font-size: 16px;
    }
}
.content07 .faq .q p,
.content07 .faq .a p{
    font-weight: 500;
    color: #202020;
    line-height: 1.5;
    padding-left: 65px;
}
/* Qのテキストのフォントを調整 */
.content07 .faq .q p{
    font-size: 20px;
    font-weight: 700;
}
@media (max-width:575.98px) {
    .content07 .faq .q p{
        font-size: 16px;
    }
    .content07 .faq .a p{
        font-size: 14px;
    }
}
/**/
.kv-lower_page .sub-title{
    font-size: 20px;
    font-weight: 500;
    color: #fff;
    text-shadow: 0 3px 7px #1b2ba1; /*横にpx・縦にpx・ぼかしpx・影の色*/
    margin-bottom: 16px;
}
.content01 .content-wrap .content-link{
    font-size: 14px;
    font-weight: 500;
    color: #202020;
    margin-top: 32px;
}
.content01 .content-wrap .content-link:hover{
    color: #eb4f55;
}

.content01 .content-wrap .content-link .link-icon{
    width: 14px;
    height: 14px;
    margin-left: 4px;
}

/*プライバシーポリシー*/
.content01 .pp-wrap{
    display: grid;
    row-gap: 48px;
}

.content01 .pp-wrap .pp-h{
    display: inline-block;
    font-size: 16px;
    font-weight: bold;
    color: #202020;
    border-bottom: 2px #202020 solid;
    margin-bottom: 12px;
}
.content01 .pp-wrap .pp-text{
    font-size: 14px;
    font-weight: 500;
    line-height: 2;
    color: #202020;
    margin: 4px 0;
}



/*404.phpのデザイン*/
.content-area{
    background-color: #ff9bcd;
    padding: 192px 0 24px 0;
}
@media (max-width:575.98px) {
    .content-area{
        padding: 80px 0 32px 0;
    }
}
@media (max-width:320.98px) {
    .content-area{
        padding: 72px 0 24px 0;
    }
}

.error-404{
    display: grid;
    justify-items: center;
    align-items: center;
    padding: 0 1em;
}
.error-404 .page-header{
    color: #fff;
    text-align: center;
}
.error-404 .page-header h1.page-title{
    font-size: 96px;
    font-weight: bold;
    font-family:"Calibri", sans-serif;
    font-style: italic;
}
@media (max-width:575.98px) {
    .error-404 .page-header h1.page-title{
        font-size: 56px;
    }
}
@media (max-width:320.98px) {
    .error-404 .page-header h1.page-title{
        font-size: 48px;
    }
}

.error-404 .page-header h2.page-title02{
    font-size: 56px;
    font-weight: bold;
    font-family:"Calibri", sans-serif; 
    font-style: italic;
    border-bottom: solid #fff 4px;
}
@media (max-width:575.98px) {
    .error-404 .page-header h2.page-title02{
        font-size: 32px;
    }
}
@media (max-width:320.98px) {
    .error-404 .page-header h2.page-title02{
        font-size: 24px;
    }
}

.error-404 .page-header p{
    margin-top: 16px;
    font-size: 32px;
    font-weight: bold;
}
@media (max-width:575.98px) {
    .error-404 .page-header p{
        font-size: 20px;
    }
}
@media (max-width:320.98px) {
    .error-404 .page-header p{
        font-size: 16px;
    }
}

.error-404 .page-content{
    text-align: center;
    margin-top: 42px;
    font-weight:500;
    font-size: 16px;
    color: #fff;
    line-height:1.5;
}
@media (max-width:602.98px) {
    .error-404 .page-content{
        text-align: left;
        font-size: 14px;
    }
}
