@charset "utf-8";
    .shadow {
        text-shadow: 1px 1px 2px #000;
    }
    .imgshadow {
        filter: drop-shadow(2px 2px 2px #000);
    }
    .topmain {
        background: url(../img/top_img.jpg) no-repeat center center;
        background-size: cover;
        position: relative;
        height: 100vh;
        height: calc(var(--vh, 1vh) * 100 - 84px);
    }
    .topimg {
        position: absolute;
        top: 50%;
        left: 25px;
        z-index: 20;
        transform: translate(0%,-50%);
    }
    .topimg img {
        opacity: 0.9;
        width: 179px;
        padding-bottom:10px;/*文字との隙間*/
    }
    .topimg p {
        opacity: 0.9;
        color: white;
        text-align: left;
    }
    /*=================================
    アニメーション
    ===================================*/
    .delay-time02{
        animation-delay: 0.4s;
    }
    .delay-time03{
        animation-delay: 0.8s;
    }
    .box{
        opacity: 0;
    }
    .ufadeup {
        animation-name:ufadeupanime;
        animation-duration:1.3s;
        animation-fill-mode:forwards;
        opacity: 0;
        }
        @keyframes ufadeupanime{
            from {
            opacity: 0;
            transform: translateY(50px);
            }
        
            to {
            opacity: 1;
            transform: translateY(0);
            }
        }
    .fadeup {
        transform: translateY(50px);
        opacity: 0;
    }
    .fadeup.is-active {
        transition: .9s;
        transform: translateY(0);
        opacity: 1;
    }
    /*===================================*/
    .toptext {
        padding: 30px 20px;
    }
    .topmessage {
        padding: 30px;
    }
    .topmessage p {
        font-size: 0.9em;
        padding: 10px 0;
        line-height: 2;
        letter-spacing: 0.03em;
    }
    .toptext p {
        text-align: center;
        padding: 20px 0;
        line-height: 1.7;
        font-size: 1em;
        letter-spacing: 0.03em;
    }
    .topimg2 {
        position: relative;
    }
    .topimg2 .text {
        position: absolute;
        top: 0;
        right: 0;
        padding: 25px 10px 0;
    }
    .topimg2 p {
        padding-bottom: 20px;
        text-align: right;
        font-weight: 300;
        line-height: 1.7;
        font-size: 0.8em;
        letter-spacing: 0.03em;
        color: #333;
    }
    p.name {
        text-align: right;
        font-size: 1.3em;
        padding-right: 10px;
    }
    .menumidashi > p {
        background-color: #4f021a;
        color: #e1d0c6;
        text-align: center;
        font-size: 0.8em;
        font-family: 'amiri';
        padding-top: 4px;
        padding-bottom: 2px;
    }
    .triangle {
        text-align: center;
        padding-top: 30px;
        padding-bottom: 40px;
    }
    .triangle div {
        width: 318px;
        margin: 0 auto;
    }
    .triangle p {
        font-size: 0.9em;
        padding: 30px 30px 0;
        line-height: 1.7;
    }
    .menu {
        position: relative;
        height: 187px;
    }
    .menu h2 {
        text-shadow: 1px 1px 2px #ccc;
        font-size: 1.5em;
        padding: 20px 20px 10px;
    }
    .menu1 h2 {
        color: #680021;
    }
    .menu2 h2,.fmenu2 h2 {
        color: #b69b51;
    }
    .menu3 h2 {
        color: #35536f;
    }
    .menu p {
        z-index: 30;
        font-size: 0.7em;
        padding: 0px 0px 10px 20px;
    }
    .menu a {
        font-size: 1.2em;
        text-decoration: none;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0.5em 1.5em;
        width: auto;
        color: #fff;
        font-size: 0.8em;
        border: 2px solid #d0b8aa;
        border-radius: 6px;
    }
    .menu1 a {
        background-color: #680021;
    }
    .menu2 a,.fmenu2 a {
        background-color: #b69b51;
    }
    .menu3 a {
        background-color: #35536f;
    }
    .menu1 .button,.menu3 .button,.fmenu2 .button {
        right: 20px;
    }
    .menu2 .button {
        left: 20px;
    }
    .menu i {
        margin-left: 10px;
    }
    .menu .button {
        z-index: 20;
        position: absolute;
        bottom: 20px;
    }
    .menubg {
        z-index: 10;
        position: absolute;
        left: 0;
        bottom: 15px;
        mix-blend-mode: color-dodge;
        opacity: 0.6;
    }
    .menu1 {
        height: 187px;
        border-left: 90px solid #680021;
    }
    .menu2 {
        height: 187px;
        border-right: 90px solid #b69b51;
    }
    .fmenu2 {
        height: 187px;
        border-left: 90px solid #b69b51;
    }
    .menu3 {
        height: 187px;
        border-left: 90px solid #35536f;
    }
    .profile {
        padding: 80px 0px 70px;
        text-align: center;
    }
    .profile > div:first-child {
        max-width: 400px;
        margin: 0 auto;
    }
    .profile h3 {
        font-size: 0.9em;
        padding: 30px;
    }
    .profile h3 > span {
        font-size: 1.3em;
        background: linear-gradient(transparent 60%, #f7c7bf 60%);
    }
    .profile p {
        text-align: left;
        font-size: 0.8em;
        padding: 10px 30px;
        text-align: justify;
    }
    .profile ul{
        text-align: left;
        font-size: 0.7em;
        padding: 20px 30px 20px 40px;
        list-style-type: square;
        color: #8f7463;
    }
    .profile ul li {
        padding-bottom: 3px;
    }
    .profileicon img {
        width: 40px;
        margin: 10px 8px 0;
        opacity: 0.5;
    }
    /*=================================
    2階層目 共通
    ===================================*/
    #page_top{
        z-index: 50;
        width: 40px;
        height: 40px;
        position: fixed;
        right: 0;
        bottom: 0;
        background: #35536f;
        opacity: 0.4;
      }
      #page_top a{
        position: relative;
        display: block;
        width: 40px;
        height: 40px;
        text-decoration: none;
      }
      #page_top a::before{
        font-family: 'Font Awesome 5 Free';
        font-weight: 700;
        content: '\f106';
        font-size: 20px;
        color: #fff;
        position: absolute;
        width: 25px;
        height: 25px;
        top: -5px;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
        text-align: center;
      }
    .btopimg , .ftopimg {
        position: relative;
        margin-bottom: 40px;
    }
    .btopimg .title {
        width: 250px;
        position: absolute;
        top: 40%;
        right: 0;
    }
    .ftopimg .title {
        width: 202px;
        position: absolute;
        top: 45%;
        left: 0;
    }
    .btopimg + div {
        text-align: center;
        line-height: 2;
        color: #8f7463;
        letter-spacing: 0;
    }
    .ftopimg + div {
        text-align: center;
        line-height: 2;
        color: #8f7463;
        letter-spacing: 0;
    }

    .line {
        text-align: center;
        padding: 30px 0;
    }
    .nagare .line {
        padding: 0 0 20px;
    }
    .line img {
        width: 125px;
    }
    .t_gray {
        color: #aaa;
    }
    .t_blue {
        color: #3c58a9;
    }
    .t_blue2 {
        color: #35536f;
    }
    .t_pink {
        color: #ef7878;
    }
    .t_gold {
        color: #b69b51;
    }
    .t_line_pink {
        background: linear-gradient(transparent 50%, #f8d1d1 50%);
    }
    .t_line_blue {
        border-bottom: solid 1px #35536f;
    }
    .t_line_gold {
        border-bottom: solid 1px #b69b51;
    }
    .t_line_ora {
        border-bottom: solid 1px #fa9310;
    }
    .t_line_gold2 {
        background: linear-gradient(transparent 50%, #f1dea7 50%);
    }
    .space {
        margin: 30px 0 ;
    }
    ul.list_triangle li{
        position:relative;
        padding: 0 0 0 15px;
        margin: 7px 0 7px 0px;
        line-height: 2;
    }
    ul.list_triangle li:before{
        content: "";
        display: block;
        position: absolute;
        left: 0px;
        height: 0;
        width: 0;
        border-top: 4px solid transparent;
        border-bottom: 4px solid transparent;
        border-left: 7px solid #F6A38B;
        top: 1em;
        -moz-transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
    }
    .pc {
        display: none;
    }
    /*=================================
    BODY & FACE MENU
    ===================================*/
    .lomilomi p , .lomilomi03 p {
        margin: 10px 30px 30px;
        font-size: 0.9em;
        line-height: 2;
        text-align: justify;
        letter-spacing: 0.05em;
    }
    .lomilomi02 {
        position: relative;
        margin-top: 60px;
        margin-bottom: 40px;
    }
    .lomilomi02 .text {
        width: 100%;
        position: absolute;
        top: 50%;
        left: 50%;
        -ms-transform: translate(-50%,-50%);
        -webkit-transform: translate(-50%,-50%);
        transform: translate(-50%,-50%);
    }
    .lomilomi02 p {
        font-size: 1.3em;
        color: #fff;
        text-align: center;
        text-shadow:0 0 8px rgb(151, 74, 10);
        line-height: 1.7;
    }
    .lomilomi03 {
        background: url(../img/b_lomi_img03.jpg);
        background-size: cover;
        padding: 30px 0;
    }
    .lomilomi03 p {
        font-size: 1em;
        color: #fff;
        text-shadow:1px 1px 8px rgb(151, 74, 10);
    }
    .lomiimg04 {
        padding: 10px 30px 30px;
    }
    .oil {
        margin-top: 30px;
    }
    .oiltext{
        padding: 0 30px 30px;
    }
    .oiltext h2 {
    	font-size: 1.1em;
	letter-spacing: 0.03em;
        margin: 20px 0 10px;
        padding-left: 25px;
        color: #b86c67;
        background-image: url(../img/icon_check1.svg);
        background-repeat: no-repeat;
        background-position: 0 5px;
        background-size: 15px;
    }
    .oiltext p {
        font-size: 0.8em;
        padding: 0 5px;
        margin-bottom: 20px;
        text-align: justify;
    }
    .oiltext div {
        position: relative;
        border-bottom: 1px dotted #d6908c;
    }
    .oiltext div:last-of-type {
        border-bottom: none;
        }
    .face {
        margin-bottom: 30px;
    }
    .facesmall {
        font-size: 0.8em;
        letter-spacing: 0;
    }
    .bodymenu {
        max-width: 400px;
        background: url(../img/b_menu_bg_2.png);
        background-repeat: repeat-y;
        background-size: 100%;
        margin: 20px 20px 50px;
    }
    .bodymenu::before {
        content: "";
        display: block;
        background: url(../img/b_menu_bg_1.png);
        background-size: 100%;
        height: 32px;
    }
    .bodymenu::after {
        content: "";
        display: block;
        background: url(../img/b_menu_bg_3.png);
        background-size: 100%;
        height: 32px;
    }
    .lomivoice > div:first-child {
        width: 100%;
        text-align: center;
        margin: 80px 0 10px;
    }
    .lomivoice > div > span {
        color: #d6908c;
        font-size: 4em;
        line-height: 0;
    }
    .lomivoice > div > p {
        font-size: 0.8em;
        color: #999;
    }
    .lomivoice {
        text-align: center;
        padding: 0 20px 80px;
        margin: 0 auto;
    }
    .lomivoicebox {
        border: 2px solid #d6908c;
        background-color: #fff;
        border-radius: 10px;
        margin: 30px 0 0;
    }
    .lomivoicebox h3 {
        background: #d6908c;
        border-radius: 5px 5px 0 0 ;
        color: #FFF;
        text-align: center;
        margin: 0;
        padding: 5px 0;
        font-size: 0.8em;
    }
    .lomivoicetext {
        text-align: left;
        padding: 20px;
        font-size: 0.8em;
        text-align: justify;
        text-justify: inter-ideograph; 
    }
    .innerbox {
        padding: 0 50px;
        text-align: center;
    }
    .innerbox h3 {
        font-size: 2.5em;
        color: #c79a4c;
    }
    .innerbox img {
        width: 125px;
        margin: 10px 0;
    }
    .innerbox P {
        margin: 30px 15px 10px;
        text-align: left;
        font-size: 0.8em;
        color: #c79a4c;
        letter-spacing: 0;
        padding-left: 1em;
        text-indent: -1em;
    }
    .innerbox p::before {
        content: icon;
    }
    .bodymenu dl {
        width: 100%;
        font-size: 0.8em;
    }
    .bodymenu dl div {
        position: relative;
        display: flex;
        justify-content: space-between;
        margin: 15px 0 0;
    }
    .menusmall {
        color: #999;
        font-size: 0.5em;
        padding: 0;
        margin: 0;
        text-align: left;
    }
    /*=================================
    INNER
    ===================================*/
    .inner p,.fasting p {
        margin: 15px 35px 15px;
        font-size: 0.9em;
        font-weight: 100;
        line-height: 2;
        text-align: justify;
    }
    .inner > div > p {
        text-align: justify;
    }
    .toikake {
        background: url(../img/i_bg.png);
        background-repeat: no-repeat;
        background-size: cover;
        height: 630px;
        padding: 0;
        letter-spacing: 2;
    }
    .box_toikake {
        position: relative;
        width: 80%;
        max-width: 500px;
        margin: 40px auto;
        font-size: 1em;
        color: #fff;
        background-color: #a98671;
        opacity: 0.5;
        padding: 30px 30px;
        line-height: 2;
    }
    .box_toikake .boxsen{
        margin: 0;
        background-color: #a98671; /* 背景色 */
        background-image: linear-gradient(90deg, transparent 0%, transparent 50%, #a98671 50%, #a98671 100%), /* 点線1の色 */
                          linear-gradient(180deg, #dfccc0 1px, transparent 1px); /* 点線2の色と太さ */
        background-size: 4px 100%, /* 点線1のサイズ */
                         100% 2em; /* 点線2のサイズ */
        line-height: 2.05em; /* 文字の高さ */
        padding-bottom: 13px; /* 最終行の下にも罫線を引く */
    }
    .inner ul {
        padding: 10px 35px;
        font-size: 0.9em;
    }
    .inner .area00 > div:first-of-type {
        max-width: 600px;
        margin: 0 auto;
    }
    .area00 p {
    	margin:15px 20px 15px;
    }
    .nayami,.ashi {
        position: relative;
        margin: 40px 0;
    }
    .nayami .text {
        width: 100%;
        position: absolute;
        top: 55%;
        left: 50%;
        -ms-transform: translate(-50%,-50%);
        -webkit-transform: translate(-50%,-50%);
        transform: translate(-50%,-50%);
    }
    .nayami p {
        color: #fff;
        text-align: center;
        margin: 0;
        padding: 1em 0 0 0;
        line-height: 1.5;
        text-shadow: 2px 2px 2px #634837;
    }
    .ashi .text {
        display: table;
        width: 75%;
        height: 50%;
        position: absolute;
        top: 50%;
        left: 50%;
        -ms-transform: translate(-50%,-50%);
        -webkit-transform: translate(-50%,-50%);
        transform: translate(-50%,-50%);
        background-color: #252525;
        opacity: 0.7;
        text-align: center;
    }
    .ashi p {
        display: table-cell;
        vertical-align: middle;
        color: #fff;
        text-align: center;
        margin: 0;
        padding: 0;
        line-height: 1.5;
        font-size: 1em;
    }
    .onayami {
        width: 100%;
        padding: 20px;
        position: relative;
    }
    .onayami .naname {
        position: absolute;
        top: 13px;
        right: 15px;
        color: #b69b51;
        transform: rotate(-10deg);
        -moz-transform: rotate(-10deg);
        -webkit-transform: rotate(-10deg);
        font-size: 2.5em;
    }
    .onayamibox {
        border: solid 1px #35536f;
        background-color: #fff;
    }
    .onayamibox h3 {
        background: #35536f;
        color: #FFF;
        margin: 0;
        display:inline-block;
        padding: 0.5em 0.8em;
    }
    .onayamiinner ul {
        padding: 20px;
    }
    .onayami li {
        position:relative;
        padding: 0 0 10px 18px;
        margin: 0;
    }
    .onayami li::before {
        content: url(../img/icon_check2.svg);
        display: block;
        position: absolute;
        width: 10px;
        margin: 0;
        top: 0.8em;
        left: 0;
        -moz-transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
    }
    .inner .midashi {
        background-color: #35536f;
        padding-bottom: 15px;
        margin: 50px 0 20px;
    }
    .pinkmidashi {
        background-color: #ef7878;
        padding: 10px 0;
        margin: 40px 0 20px;
        color: #fff;
        text-align: center;
        font-size: 1em;
    }
    .inner h4 {
        text-align: center;
        color: #fff;
        line-height: 1;
        font-size: 1.1em;
    }
    .inner h4 span {
        font-size: 4em;
    }
    .i01_1,.i01_2 {
        padding: 0 30px;
        display: flex;
        justify-content:space-between;
    }
    .i01_1 {
        margin-top: 30px;
    }
    .i01_1 > div > div:first-of-type {
        width: 40%;
        float: right;
        margin-left: 10px;
        margin-bottom: 10px;
    }
    .i01_2 > div {
        width: 49%;
        margin-bottom: 20px;
    }
    .i01_1 p {
        margin: 0 0 20px;
        text-align: justify;
    }
    .i01_3 > div {
        max-width: 700px;
        margin: 0 auto;
    }
    .try {
        display: table;
        padding: 10px 30px 10px 30px;
        font-size: 0.8em;
    }
    .try > div {
        display: table-cell;
        vertical-align: middle;
    }
    .try img {
        width: 81px;
        float: left;
        margin-right: 15px;
    }
    .keep {
        padding: 20px;
    }
    .keepbox {
        border: solid 1px #ef7878;
        background-color: #fff;
    }
    .keepbox h3 {
        width: 100%;
        text-align: center;
        font-size: 0.8em;
        background: #ef7878;
        color: #FFF;
        margin: 0;
        display:inline-block;
        padding: 0.5em 0.8em;
    }
    .keepinner ul {
        padding: 20px;
    }
    .keep li {
        position:relative;
        padding: 0 0 10px 18px;
        margin: 0;
    }
    .keep li::before {
        content: url(../img/icon_check2.svg);
        display: block;
        position: absolute;
        width: 10px;
        margin: 0;
        top: 0.7em;
        left: 0;
        -moz-transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
    }
    .i_02_2 {
        width: 277px;
        margin: 0 auto 30px;
    }
    .i_02box {
        margin: 0 20px 30px;
        color: #fff;
        background-color: #35536f;
        border-radius: 50vh;
        padding: 7px 5px;
    }
    .area02 .t_center > div:nth-of-type(3) {
        max-width: 600px;
        margin: 0 auto;
    }
    .i_02box p {
        padding: 0;
        margin: 0;
    }
    .i_02_4 {
        width: 291px;
        margin: 30px auto;
    }
    .area02 > div:nth-of-type(6) {
        padding-top: 30px;
    }
    .area02 > div:nth-of-type(6) > p {
        margin: 20px 35px 30px;
    }
    .area03 > .t_center {
        margin: 40px 0;
    }
    .i_03_2 {
        text-align: center;
        width: 226px;
        margin: 0 auto;
    }
    .box_white {
        text-align: center;
        margin: 20px;
        background-color: #fff;
        border-radius: 10px;
        padding: 7px 5px;
    }
    .box_white p {
        margin: 15px;
    }
    .box_pink {
        position: relative;
        font-size: 0.9em;
        text-align: center;
        margin: 30px 40px 40px;
        color: #fff;
        background-color: #ef7878;
        padding: 20px 0;
        line-height: 2;
        box-shadow:2px 2px 0 rgba(0,0,0,.1);
    }
    .boxsen{
        margin: 0 25px;
        background-color: #ef7878; /* 背景色 */
        background-image: linear-gradient(90deg, transparent 0%, transparent 50%, #ef7878 50%, #ef7878 100%), /* 点線1の色 */
                          linear-gradient(180deg, #f5c0c0 1px, transparent 1px); /* 点線2の色と太さ */
        background-size: 4px 100%, /* 点線1のサイズ */
                         100% 2em; /* 点線2のサイズ */
        line-height: 2em; /* 文字の高さ */
        padding-bottom: 3px; /* 最終行の下にも罫線を引く */
    }
    .box_pink .naname {
        position: absolute;
        top: -18px;
        left: -3px;
        color: #fcce05;
        font-size: 2.5em;
        transform: rotate(-15deg);
        -moz-transform: rotate(-15deg);
        -webkit-transform: rotate(-15deg);
    }
    .box_blue {
        position: relative;
        font-size: 0.9em;
        text-align: center;
        margin: 20px 30px 40px;
        color: #fff;
        background-color: #35536f;
        padding: 20px 5px;
        line-height: 2;
        box-shadow:2px 2px 0 rgba(0,0,0,.1);
    }
    .box_blue .naname {
        position: absolute;
        top: -18px;
        left: -3px;
        color: #b69b51;
        font-size: 2.5em;
        transform: rotate(-15deg);
        -moz-transform: rotate(-15deg);
        -webkit-transform: rotate(-15deg);
    }
    .box_blue hr {
        color: #b69b51;
        margin: 10px 20px;
    }
    .inner .voice ul {
        width: 100%;
        background-color: #eaaa90;
        color: #fff;
        padding: 20px 30px 40px;
    }
    .inner .voice li {
        letter-spacing: normal;
        line-height: 1.5;
        padding: 0.8em 0.5em 0.8em 0.5em;
        border-bottom: dashed 1px #fbcfa7;
    }
    .inner .message {
        background-size: 100%;
        background-color: #948883;
        padding: 20px 20px;
    }
    .inner .message > span {
        color: #3a332d;
        font-size: 3em;
        text-shadow: 3px 3px 2px rgb(87, 86, 86);
    }
    .inner .message div {
        background-color: #fff;
        opacity: 0.7;
        padding: 20px;
    }
    .inner .message > p {
        margin: 20px 0 40px 20px;
        font-size: 1em;
        color: #fff;
        line-height: 1.8;
    }
    .inner .message > div > p {
        padding: 0;
        margin: 0 0 20px;
        line-height: 1.8;
        text-align: justify;
    }
    .inner .message > div > p:last-of-type {
        text-align: right;
        font-size: 1.5em;
        margin-bottom: 0;
    }
    .inner .nagare {
        text-align: center;
        padding: 40px 20px 20px;
        max-width: 600px;
        margin: 0 auto;
    }
    .inner .nagarebox {
        position: relative;
        border: 2px solid #35536f;
        background-color: #fff;
        border-radius: 10px;
        margin: 0;
    }
    .inner .nagarebox:not(:first-of-type) {
        margin-top: 30px;
    }
    .inner .nagarebox h3 {
        background: #35536f;
        border-radius: 5px 5px 0 0 ;
        color: #FFF;
        text-align: center;
        margin: 0;
        padding: 5px 0;
    }
    .inner h3 {
        position: relative;
    }
    .inner .nagare span.tange {
        position: absolute;
        bottom: 20px;
        left: 10px;
        font-size: 50px;
        display: inline-block;
        line-height: 0;
    }
    .inner .nagaretext {
        text-align: left;
        padding: 20px;
        font-size: 0.8em;
        text-align: justify;
        text-justify: inter-ideograph; 
    }
    .inner .nagarebox:not(:last-of-type)::after {
        position: absolute;
        margin-left: -0.5em;
        content: "▼";
        font-size: 20px;
        color: #b69b51;
    }
    .grant01 {
        max-width: 500px;
        margin: 0 auto;
    }
    .grant02 {
        background: url(../img/i_bg.png);
        background-size: cover;
        margin-bottom: 40px;
    }
    .grant02 > p {
        font-size: 3.5em;
        color: #f8a3a3;
        margin: 0 0 10px 10px;
        text-shadow: 3px 3px 1px #fff;
        line-height: 1;
        letter-spacing: 0;
        transform: rotate(-7deg);
        -moz-transform: rotate(-7deg);
        -webkit-transform: rotate(-7deg);
    }
    .grant02 > div {
        display: flex;
        flex-wrap: wrap;
        max-width: 600px;
        margin: 0 auto;
        justify-content:center
    }
    .grant02 > div > div {
        position: relative;
        width: 40%;
        margin: 10px;
    }
    .grant02 > div p {
        position: absolute;
        left: 0;
        bottom: 0;
        margin: 0;
        padding: 15px;
        color: #fff;
        line-height: 0;
        font-size: 1em;
    }
    .grant02 .imgshadow {
        filter: drop-shadow(4px 4px 0px #d1bca9);
    }

    .inner .button {
        text-align: center;
        margin: 20px 0 50px;
    }
    .inner .arrow {
        text-align: center;
        color: #ef7878;
    }
    .i_button {
        text-align: center;
        margin: 20px 0 50px;
    }
    .btn-copy {
        font-size: 0.9em;
        font-weight: bold;
        position: relative;
        margin-bottom: .4em;
        text-align: center;
    }
    .btn-copy::before {
    margin-right: 0.5em;
    content: '＼';
    }
    .btn-copy::after {
    margin-left: 0.5em;
    content: '／';
    }
    .inner .btn {
        font-size: 1em;
        font-weight: 700;
        position: relative;
        display: inline-block;
        padding: 1em 3em 1em 2em;
        text-align: center;
        vertical-align: middle;
        letter-spacing: 0.15em;
        color: #fff;
        border-radius: 100vh;
        background-image: linear-gradient(170deg, #ef7878, #e96b9f);
        border-bottom: 5px solid #9b5353;
    }
    a.btn i.fa {
        margin-right: 1em;
    }
    a.btn:before {
        font-family: 'Font Awesome 5 Free';
        font-size: 1em;
        line-height: 1;
        position: absolute;
        top: calc(50% - .5em);
        right: 1em;
        margin: 0;
        padding: 0;
        content: '\f054';
    }

    /*=================================
    FASTING
    ===================================*/
    .t_ora {
        color: #fa9310;
    }
    .t_yel {
        color: #ffbc02;
    }
    .t_yel2 {
        color: #fdda65;
    }
    .fasting .img {
        margin: 50px auto;
    }
    .fasting .t_big {
        font-size: 1.2em;
    }
    .kyokan {
        background: url(../img/f_back01.jpg);
        background-size: cover;
        padding: 20px 0 320px;
        color: #fff;
        margin: 50px 0;
    }
    .kyokan p {
        font-size: 1em;
        padding: 10px 0;
        line-height: 1.9;
    }
    .kyokan .letter {
        letter-spacing: 0;
    }
    .fprofile {
        width: 180px;
        margin: 0 auto;
    }
    .kyokan02 > div , .magoimg {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        padding: 10px 30px;
    }
    .kyokan02 > div > div ,.magoimg > div {
        width: 49%;
        padding: 3px;
    }
    .kyokan02 ul , .kyokan03 ul {
        background-color: #fff;
        margin: 0 30px 40px;
        padding: 20px;
        font-size: 0.9em;
    }
    .kyokan02 li {
        position:relative;
        padding: 5px 0 5px 18px;
        margin: 0;
        margin-left: 5px;
        font-size: 1em;
    }
    .kyokan03 ul {
        background-color: #b69b51;
        margin: 0 35px;
        padding: 20px;
        font-size: 0.9em;
        border-radius: 10px;
    }
    .kyokan03 li {
        position:relative;
        padding: 5px;
        margin: 0;
        font-size: 1em;
        color: #fff;
    }
    .kyokan02 li::before {
        content: url(../img/icon_check2.svg);
        display: block;
        position: absolute;
        width: 10px;
        margin: 0;
        top: 1em;
        left: 0;
        -moz-transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
    }
    .kuhuku {
        position: relative;
        margin: 30px 0;
    }
    .kuhuku .text {
        width: 100%;
        position: absolute;
        top: 50%;
        left: 50%;
        -ms-transform: translate(-50%,-50%);
        -webkit-transform: translate(-50%,-50%);
        transform: translate(-50%,-50%);
    }
    .kuhuku p {
        color: #fff;
        text-align: center;
        font-size: 1.2em;
        margin: 0;
        text-shadow: 2px 2px 2px #634837;
    }
    .step {
        padding: 20px;
    }
    .step > p {
        padding: 0 15px;
        margin: 0;
    }
    .step .midashi {
        background-color: #bea563;
        position: relative;
        color: #FFF;
        font-size: 1em;
        line-height: 0;
        border-radius: 50vh;
        padding: 20px 10px 23px;
        margin: 30px 0 20px;
    }
    .step .midashi > span {
        font-size: 3em;
        padding: 0 13px;
    }
    .step .midashi .tange {
        color: #f2d358;
    }
    .steptext {
        font-size: 1.5em;
        position: absolute;
        top: 8px;
        left: 20px;
    }
    .step .box_white {
        margin: 20px 10px;
        background-color: #fff;
        border-radius: 1vh;
    }
    .yamada {
        background-color: #FFF;
        padding: 10px;
        margin: 40px 20px;
    }
    .yamada p {
        margin: 0;
        padding: 20px 10px;
    }
    .yamada > div {
        width: 150px;
        margin: 0 auto;
    }
    .kouka .midashi {
        background-color: #fe7e51;
        padding: 15px 0;
        color: #FFF;
        text-align: center;
        margin: 50px 0 30px;
        font-size: 1em;
    }
    .kouka .bg {
        background-color: #FFF;
        margin: 0 15px 20px;
        padding: 20px;
    }
    .kouka h5 {
        color: #fe7e51;
        font-size: 1.2em;
        padding: 0 0 8px;
    }
    .kouka h6 {
        color: #fba40d;
        font-size: 1.2em;
        padding: 0 0 8px;
    }
    .kouka p {
        margin: 0;
        padding: 0 0 20px;
        line-height: 1.5;
        text-align: justify;
    }
    .genjou h5 {
        font-size: 1.2em;
        padding-left: 30px;
        margin-top: 40px;
    }
    .genjou p {
        margin: 10px 30px;
        line-height: 1.7;
    }
    .bmi {
        background-color: #FFF;
        border-radius: 2vh;
        margin: 20px;
        padding: 30px 0 20px;
        text-align: center;
    }
    .bmi p {
        font-size: 0.8em;
        margin: 20px 0 0
    }
    .genjou .midashi {
        background-color: #bea563;
        color: #fff;
        margin: 30px 30px 0;
        padding: 10px 0;
        text-align: center;
        font-size: 0.9em;
    }
    .genjou .bg {
        background-color: #FFF;
        margin: 0 30px 30px;
        padding: 20px 0 20px 15px;
        font-size: 1.1em;
    }
    .genjou .bg div {
        margin: 30px 30px 0;
    }
    .genjou > div:nth-of-type(3) {
        text-align: center;
        padding: 30px 0;
    }
    .genjou .bg p {
        font-size: 0.9em;
        margin: 0;
        padding: 0;
    }
    .genjou .t_small {
        font-size: 0.7em;
        letter-spacing: 0;
        color: #999;
    }
    .dokuso {
        border-radius: 1vh;
        padding: 30px 0;
        text-align: center;
        font-size: 1.1em;
    }
    .kuhuku .text span {
        background-color: rgba(0,0,0,.8);
        padding: 10px;
    }
    .fasting .tree {
        margin: 50px 0 40px;
    }
    .fasting > .nagare > div:first-of-type {
        background-color: #bea563;
        margin: 60px 0 30px;
        padding: 15px 0;
        color: #fff;
        font-size: 1em;
        text-align: center;
    }
    .fasting .nagare > div:first-of-type > span {
        color: #fcd58a;
        font-size: 2.5em;
        line-height: 1;
    }
    .fasting > .nagare > div:nth-of-type(2) {
        margin: 0 10px 10px;
    }
    .fasting .nagarebox {
        position: relative;
        border: 2px solid #f4bb69;
        background-color: #fff;
        border-radius: 10px;
        margin: 0 10px;

    }
    .fasting .nagarebox:not(:first-of-type) {
        margin-top: 30px;
        max-width: 400px;
    }
    .fasting .nagarebox h3 {
        font-size: 1.2em;
        background: #f4bb69;
        border-radius: 5px 5px 0 0 ;
        color: #FFF;
        text-align: center;
        margin: 0;
        padding: 6px 0;
        letter-spacing: 0.3em;
    }
    .fasting .nagaretext {
        text-align: left;
        padding: 20px;
        font-size: 0.8em;
    }
    .fasting .nagaretext > img {
        width: 200px;
        margin: 20px 50px;
    }

    .fasting .nagaretext p {
        padding: 20px 0 0;
        margin: 0;
    }
    .fasting .nagarebox:not(:last-of-type)::after {
        position: absolute;
        margin-left: -0.5em;
        content: "▼";
        left: 50%;
        font-size: 20px;
        color: #fcbd44;
    }
    .fasting .nagarebox:last-of-type {
        margin-bottom: 40px;
    }
    .fasting .nagaretext > div {
        display: flex;
        justify-content: space-between;
        padding: 20px 0 0;
        align-items: center;
    }
    .fasting .nagaretext > div > div:first-of-type {
        width: 75px;
    }
    .fasting .nagaretext > div > div:nth-of-type(2) {
        width: 230px;
        line-height: 1.3;
        text-align: justify;
    }
    .box_gold {
        position: relative;
        text-align: center;
        margin: 50px 40px 40px;
        color: #fff;
        background-color: #bea563;
        padding: 20px 0;
        line-height: 2;
        box-shadow:2px 2px 0 rgba(0,0,0,.1);
    }
    .box_gold .naname {
        position: absolute;
        top: -18px;
        left: -3px;
        color: #f8cf60;
        font-size: 2.5em;
        transform: rotate(-15deg);
        -moz-transform: rotate(-15deg);
        -webkit-transform: rotate(-15deg);
    }
    .box_gold p {
        border-bottom: solid 1px #ceb779;
        margin: 0 25px;
        padding: 0;
        font-size: 1.1em;
    }
    .magowa {
        margin: 40px 15px 40px;
    }
    .fasting .voice {
        margin: 80px 0;
    }
    .fasting .voice ul {
        width: 100%;
        background-color: #c0a868;
        color: #fff;
        padding: 20px 30px 40px;
    }
    .fasting .voice li {
        font-size: 1em;
        letter-spacing: normal;
        line-height: 1.5;
        padding: 0.8em 0.5em;
        border-bottom: dashed 1px #e9ca75;
    }
    .qa > div:first-of-type {
        background-color: #fad46b;
        color: #fff;
        margin: 30px 0px;
        padding: 15px 0;
        font-size: 1.1em;
        text-align: center;
    }
    .qa span {
        margin-left: 25px;
    }
    .qa {
        margin: 50px 0;
    }
    .qa ul {
        padding: 0 30px;
        font-size: 0.9em;
    }
    .fnagare {
        text-align: center;
        padding: 0 20px 50px;
        max-width: 600px;
        margin: 0 auto;
    }
    .fnagarebox {
        position: relative;
        border: 2px solid #bea563;
        background-color: #fff;
        border-radius: 10px;
        margin: 0;
    }
    .fnagarebox:not(:first-of-type) {
        margin-top: 30px;
    }
    .fnagarebox h3 {
        background: #bea563;
        border-radius: 5px 5px 0 0 ;
        color: #FFF;
        text-align: center;
        margin: 0;
        padding: 5px 0;
        font-size: 1.1em;
        letter-spacing: 0;
    }
    .fnagarebox h3 {
        position: relative;
    }
    .fnagare span.tange {
        position: absolute;
        bottom: 20px;
        left: 10px;
        font-size: 50px;
        display: inline-block;
        line-height: 0;
    }
    .fnagaretext {
        text-align: left;
        padding: 20px;
        font-size: 0.8em;
        text-align: justify;
        text-justify: inter-ideograph; 
    }
    .fnagaretext > div {
        padding: 20px;
    }
    .fnagarebox:not(:last-of-type)::after {
        position: absolute;
        margin-left: -0.5em;
        content: "▼";
        font-size: 20px;
        color: #b6a26d;
    }
    .fasting .btn {
        font-size: 1em;
        font-weight: 700;
        position: relative;
        display: inline-block;
        padding: 1em 3em 1em 2em;
        text-align: center;
        vertical-align: middle;
        letter-spacing: 0.15em;
        color: #fff;
        border-radius: 100vh;
        background-image: linear-gradient(170deg, #fcbd48, #f78a41);
        border-bottom: 5px solid #b47235;
    }






    p.t_big {
        font-size: 1.1em;
    }
    p.t_small {
        font-size: 0.7em;
    }
    span.t_small {
        font-size: 0.7em;
    }
    p.nomargin {
        margin-bottom: 0;
    }
    p.nomargin + p {
        margin-top: 0;
    }
    p.hannari {
        letter-spacing: 0.05em;
    }
    p.t_01 {
        font-size: 1em;
    }
    .t_center {
        text-align: center;
    }
    p.t_center {
        text-align: center;
    }
    .space {
    	padding: 10px 0;
    }




@media screen and (min-width: 768px) {

    .topmain {
        background: url(../img/top_img_pc.jpg) no-repeat center center;
        background-size: cover;
        height: 700px;
    }
    .topimg {
        left: 10%;
    }
    .topimg img {
        width: 250px;
        padding-bottom: 20px;
    }
    .topimg p {
        font-size: 1.2em;
    }
    .topimg2 .text {
        top: 50px;
        right: 50px;
    }
    .topimg2 p {
        font-size: 1.2em;
        letter-spacing: 0.05em;
        line-height: 2;
    }
    .triangle {
        display: flex;
        max-width: 1000px;
        justify-content: space-between;
        margin: 0 auto;
        background: none;
    }
    .triangle > div {
        min-width: 375px;
        max-width: 450px;
        padding: 30px 0 30px 30px;
    }
    .triangle p {
        margin: auto;
        font-size: 1.2em;
        line-height: 3;
        color: #252525;
        padding: 0 30px 0 0;
    }
    .menubox,.menubox2 {
        position: relative;
        display: flex;
        max-width: 1100px;
        height: 275px;
        margin: 0 auto;
    }
    .menuarea > div:nth-child(1) {
        background-color: #680021;
    }
    .menuarea > div:nth-child(2) {
        background-color: #b69b51;
    }
    .menuarea > div:nth-child(3) {
        background-color: #35536f;
    }
    .menubox > div:first-child {
        position: absolute;
        top: 0;
        right: 0;
        width: 550px;
    }
    .menubox2 > div:first-child {
        position: absolute;
        top: 0;
        left: 0;
        width: 550px;
    }
    .menu p {
        font-size: 0.9em;
        padding: 0;
        line-height: 1.7;
    }
    .menu h2 {
        font-size: 1.7em;
        padding: 0 0 15px 0;
    }
    .menubox2 .menu {
        position: absolute;
        right: 0;
        top: 0;
    }
    .menubg {
        display: none;
    }
    .menu1,.menu2,.menu3 {
        position: relative;
        height: 275px;
        padding: 8% 7%;
        background-color: #f8f1e8;
    }
    .menu {
        width: 50%;
    }
    .menu .button {
        margin-bottom: 20px;
        margin-right: 30px;
    }
    .menu2 .button {
        left: auto;
        right: 20px;
    }
    .profile {
        display: flex;
        max-width: 1100px;
        margin: 0 auto;
        padding-bottom: 50px;
    }
    .profile > div:first-child {
        min-width: 375px;
    }
    .profileicon {
        display: none;
    }
    .profile h3 {
        padding: 0 0 30px;
    }
    .profile p {
        font-size: 0.9em;
        line-height: 1.8;
    }
    .profile ul {
        font-size: 0.8em;
        color: #8f7463;
    }
    .topmessage {
        background: url(../img/top_img_2.jpg);
        padding: 20px 20px 20px auto;
        text-align: right;
        background-repeat: no-repeat;
        background-size: cover;

    }
    .topmessage > div {
        background: rgba(255, 255, 255, 0.6);
        padding: 40px;
    }
    .topimg2 {
        display: none;
    }
    .fmenu {
        display: none;
    }
    /*=================================
    2階層目 共通
    ===================================*/
    .btopimg , .ftopimg {
        height: 700px;
    }
    .btopimgbg > img , .topimgbg > img {
        object-fit: cover;
        height: 700px;
        object-position: top;
    }
    .btopimg .title {
        width: 400px;
    }
    .ftopimg .title {
        width: 300px;
    }

    .sp {
        display: none;
    }
    .pc {
        display: block;
    }
    /*=================================
    menu
    ===================================*/
    .lomilomi > p {
        max-width: 650px;
        margin: 20px auto 30px;
    }
    .lomilomi .pc {
        max-width: 650px;
        margin: 60px auto 0;
    }
    .lomiimg04 {
        max-width: 450px;
        margin: 0 auto;
    }
    .lomilomi02 p {
        font-size: 2em;
    }
    .oiltext {
        max-width: 900px;
        padding: 20px 70px 80px;
        margin: 0 auto;
    }
    .oiltext h2 {
        font-size: 1.1em;
    }
    .lomilomi03 {
        max-width: 900px;
        padding: 80px 30px;
        margin: 0 auto;
    }
    .lomilomi03 p {
        font-size: 1em;
    }
    .oil {
        max-width: 600px;
        margin: 80px auto 0;
    }
    .bodymenu {
        margin: 0 auto 80px;
    }
    .lomilomi02 {
        max-width: 600px;
        margin: 60px auto 40px;
    }
    .lomilomi02 p {
        font-size: 1.5em;
    }
    .lomivoice {
        padding: 10px 50px 100px;
        max-width: 900px;
    }
    .lomivoicebox {
        margin: 40px auto 0;
    }


    /*=================================
    inner
    ===================================*/
    .inner p , .inner ul {
        font-size: 1em;
    }
    .toikake {
        height: 550px;
    }
    .area00 {
        max-width: 900px;
        margin: 0 auto;
    }
    .inner .area00 > div:first-of-type {
        width: 550px;
        margin: 0 auto;
    }
    .nayami p:first-child  {
        font-size: 1.5em;
        padding: 1.5em 0 0 0;
        line-height: 2;
    }
    .nayami p {
        letter-spacing: 0.2em;
    }
    .onayami {
        max-width: 700px;
        margin: 0 auto;
    }
    .onayami h3 {
        font-size: 1.4em;
    }
    .onayami .naname {
        display: none;
    }
    .onayamiinner ul {
        padding: 40px;
    }
    .ashi p {
        font-size: 1.5em;
        line-height: 2;
    }
    .inner h4 {
        font-size: 1.2em;
        line-height: 1.5;
    }
    .inner h4 span {
        font-size: 6em;
        line-height: 1;
    }
    .area01,.area02,.area03 {
        max-width: 900px;
        margin: 0 auto;
        padding: 40px 0;
    }
    .i01_1 {
        margin-top: 60px;
        width: 100%;
    }
    .i01_1 > div {
        width: 100%;
    }
    .i01_1 > div > div:first-of-type {
        display: none;
    }
    .i01_2 {
        margin: 50px 0 50px;
    }
    .i01_1 p {
        text-align: center;
    }
    .i01_2 > div {
        width: 49%;
        margin-bottom: 20px;
    }
    .i01_3 {
        display: flex;
        margin-top: 40px;
        justify-content: space-between;
    }
    .i01_3 > div {
        width: 550px;
        margin: 0;
        padding: 0;
    }
    .i01_3 ul {
        width: 300px;
        padding: 0 10px 0;
    }
    .i01_3 > p {
        width: 300px;
        margin: 5px 0 5px ;
    }
    .i_img {
        width: 600px;
        margin: 40px auto;
    }
    .try {
        width: 600px;
        margin: 40px auto;
        font-size: 1em;
    }
    .pinkmidashi {
        font-size: 1.3em;
    }
    .i01_4 .box_pink {
        max-width: 450px;
        font-size: 1.2em;
        margin: 40px auto;
        height: auto;
        padding: 30px 5px;
    }
    .i01_4 {
        margin-bottom: 40px;
    }
    .i01_4 > div:nth-of-type(2) {
        max-width: 500px;
        margin: 0 auto;
    }
    .keep {
        margin-bottom: 50px;
    }
    .keepbox {
        max-width: 600px;
        margin: 0 auto;
    }
    .center {
        text-align: center;
    }
    .area02 > .t_center {
        margin-top: 20px;
    }
    .area02 .t_center > div:nth-of-type(2) {
        display: flex;
        margin: 0 auto 40px;
        justify-content: center;
        font-size: 1.1em;
    }
    .area02 .t_center > div > p {
        margin: auto 20px;
    }
    .i_02_2 {
        width: 350px;
    }
    .i_02box {
        max-width: 600px;
        margin: 0 auto 50px;
    }
    .area02 > div:nth-of-type(4) {
        display: flex;
        margin: 50px auto;
        justify-content: space-between;
        display: table;
    }
    .area02 > div:nth-of-type(4) p {
        width: 400px;
        display: table-cell;
        vertical-align: middle;
    }
    .i_02_4 {
        margin: 0 30px;
        width: 400px;
    }
    .box_white {
        max-width: 600px;
        margin: 0 auto;
    }
    .area03 > div:nth-of-type(2) {
        display: flex;
    }
    .i03_1 {
        margin: auto 0;
    }
    .area03 .box_pink {
        max-width: 450px;
        margin: 50px auto 30px;
        height: auto;
        font-size: 1em;
    }
    .i_03_2 {
        width: 350px;
        margin: 40px auto;
    }
    .area03 > div:nth-of-type(6) {
        margin: 0 auto;
    }
    .voice {
        max-width: 768px;
        margin: 0 auto 80px;
    }
    .inner .message {
        padding: 40px 40px;
    }
    .inner .message div {
        padding: 40px;
    }
    .inner .message > p {
        margin: 20px 0 40px 40px;
        font-size: 1.2em;
    }
    .inner .message > span {
        font-size: 5em;
    }
    .inner .nagare {
        max-width: 700px;
        margin: 0 auto;
    }
    .grant01 {
        max-width: 700px;
        margin: 0 auto;
    }
    .grant02 > div {
        display: flex;
        max-width: 1100px;
        margin: 0 auto;
        justify-content:center
    }
    .grant02 > div > div {
        position: relative;
        width: 21%;
        margin: 10px 10px 50px;
    }
    .grant02 > p {
        font-size: 5em;
        margin: 0 0 40px 20px;

    }
    /*=================================
    fasting
    ===================================*/
    .fasting {
        max-width: 900px;
        margin: 0 auto;
    }
    .kyokan {
        max-width: 600px;
        padding: 20px 0 100px;
        margin: 50px auto;
        background: url(../img/f_back01_pc.jpg);
        background-size: cover;

    }
    .fasting .tree {
        max-width: 600px;
        margin: 50px auto;
    }
    .fasting .img {
        max-width: 500px;
    }
    .kuhuku {
        max-width: 500px;
        margin: 50px auto;
    }
    .fprofile {
        width: 300px;
        margin: 0 auto;
    }
    .genjou {
        max-width: 600px;
        margin: 0 auto;
    }
    .bmi {
        max-width: 400px;
        margin: 20px auto;
    }
    .kouka .bg {
        margin: 0 30px 50px;
        padding: 40px;
    }
    .yamada {
        max-width: 500px;
        margin: 30px auto;
    }
    .fasting .voice {
        margin: 100px auto;
    }
    .fasting .step , .magowa {
        max-width: 600px;
        margin:  50px auto;
    }
    .fasting .box_white , .fasting .box_gold {
        max-width: 400px;
        margin: 30px auto;
    }
    .kyokan02 ul {
        max-width: 400px;
        margin: 20px auto;
    }
    .fasting .nagare > div:not(:first-of-type) {
        max-width: 500px;
        margin: 30px auto;
    }
    .fasting .nagaretext {
        text-align: left;
        padding: 30px;
        font-size: 0.9em;
    }
    .fasting .nagaretext > div > div:first-of-type {
        width: 90px;
    }
    .fasting .nagaretext > div > div:nth-of-type(2) {
        width: 330px;
        line-height: 1.5;
        text-align: justify;
    }
    .fasting .nagaretext > img {
        width: 300px;
        margin: 30px 70px;
    }
    .qa {
        max-width: 650px;
        margin: 100px auto;
    }
    .qa > div:first-of-type {
        margin: 30px 0px;
        padding: 10px 0;
        font-size: 1.1em;
        text-align: center;
    }




    p.pc_center {
        text-align: center;
    } 
    p.t_big , span.t_big {
        font-size: 1.4em;
    }


}