﻿@charset "utf-8";
/* CSS Document */

/*--------------------------------------
    common
--------------------------------------*/

.header h1{
    width:226px;
    height:57px;
}
main{
    min-height: 100vh;
    margin: 0 auto;
    padding-top: 100px;
}
@media (max-width: 740px) {
.header h1{
    width:226px;
    height:57px;
}
main{
    width:100%;
    padding-top: 90px;
}
}

/*--------------------------------------
    breadcrumbs
--------------------------------------*/

.breadcrumbs{
    width:1084px;
    margin: 0 auto;
}
.breadcrumbs li{
    display: inline-block;
    margin-right: 30px;
    position: relative;
    line-height: 20px;
    font-size:12px;
    font-weight: bold;
    color:#666666;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.breadcrumbs li::after{
    content: ">";
    position: absolute;
    top:0;
    left:auto;
    right:-25px;
    bottom:0;
    margin: auto;
    transform: translate(-50%,0);
}
.breadcrumbs li:last-of-type::after{
    display: none;
}
.breadcrumbs li a{
    display: block;
    font-size:12px;
    font-weight: bold;
    color:#666666;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media (max-width: 740px) {
.breadcrumbs{
    width:calc(100% - 20px);
    margin: 10px auto;
}
}

/*--------------------------------------
    concept
--------------------------------------*/

.concept .visualArea{
    width:100%;
    height:600px;
    position: relative;
    margin-top: 30px;
}
.concept .visualArea h2{
    font-size:32px;
    text-align: center;
    font-weight: bold;
    position: absolute;
    top:5px;
    left:50%;
    transform: translate(-50%,0);
    z-index: 20;
    color:#FFFFFF;
}
.concept .visualArea h2::after{
    width:60px;
    height:3px;
    content: "";
    display: block;
    background: #AACC03;
    margin: 0 auto;
}
.concept .visualArea img{
    width:100%;
    height:100%;
    object-fit: cover;
}
.concept .conceptArea{
    text-align: center;
    margin: 40px auto 200px;
}
.concept .conceptArea h3{
    display: inline-block;
    position: relative;
    font-size:37px;
    font-weight: bold;
    margin-bottom: 30px;
}
.concept .conceptArea h3::before{
    width:16px;
    height:23px;
    content: "";
    position: absolute;
    bottom:-5px;
    left:-45px;
    background: url("../images/concept/icon_h3_before.png") no-repeat center center;
}
.concept .conceptArea h3::after{
    width:38px;
    height:50px;
    content: "";
    position: absolute;
    top:-15px;
    right:-52px;
    background: url("../images/concept/icon_h3_after.png") no-repeat center center;
}
.concept .conceptArea .anchor{
    width:900px;
    margin: 0 auto 120px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap:60px;
}
.concept .conceptArea .anchor a{
    display: inline-block;
}
.concept .conceptArea .concept001{
    width:786px;
    text-align: center;
    margin: 0 auto 120px;
}
.concept .conceptArea .concept002{
    width:786px;
    text-align: center;
    margin: 0 auto 120px;
}
.concept .conceptArea .concept003{
    width:786px;
    text-align: center;
    margin: 0 auto 120px;
}
.concept .conceptArea .concept001 .introArea .text,
.concept .conceptArea .concept002 .introArea .text,
.concept .conceptArea .concept003 .introArea .text{
    font-size:23px;
    margin: 20px auto 50px;
}
.concept .conceptArea .boxArea{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap:86px;
}
.concept .conceptArea .boxArea .box{
    position: relative;
}
.concept .conceptArea .boxArea .box h5{
    font-size:21px;
    margin: 20px auto 10px;
    font-weight: bold;
}
.concept .conceptArea .boxArea .box .text{
    text-align: left;
}
.concept .conceptArea .boxArea .box.box001 .img{
    width:115px;
    height:115px;
    position: absolute;
    top:0;
    left:auto;
    right:100%;
    bottom:0;
    margin: auto;
}
.concept .conceptArea .boxArea .box.box002 .img{
    width:115px;
    height:126px;
    position: absolute;
    top:0;
    left:100%;
    right:auto;
    bottom:0;
    margin: auto;
}
.concept .conceptArea .boxArea .box.box003 .img{
    width:84px;
    height:89px;
    position: absolute;
    top:50%;
    left:auto;
    right:100%;
    bottom:auto;
    margin: auto;
}
.concept .conceptArea .boxArea .box.box004 .img{
    width:107px;
    height:109px;
    position: absolute;
    top:auto;
    left:100%;
    right:auto;
    bottom:100%;
    margin: auto;
    transform: translate(-50%,0);
}
.concept .conceptArea .boxArea .box.box005 .img{
    width:99px;
    height:112px;
    position: absolute;
    top:auto;
    left:0;
    right:auto;
    bottom:calc(100% + 10px);
    margin: auto;
}
.concept .conceptArea .boxArea .box.box006 .img{
    width:164px;
    height:140px;
    position: absolute;
    top:95%;
    left:95%;
    right:auto;
    bottom:auto;
    margin: auto;
}
.concept .storyArea .heading{
    width:100%;
    background: #F4F1ED;
    padding:50px 0 30px;
    text-align: center;
}
.concept .storyArea .heading h3{
    width:744px;
    box-sizing: border-box;
    position: relative;
    margin: 0 auto 30px;
}
.concept .storyArea .heading h3 span{
    font-size:37px;
    line-height: 1.3;
    border:1px solid #000000;
    background: #FFFFFF;
    padding: 35px 0;
    z-index: 10;
    text-align: center;
    position: relative;
    display: block;
}
.concept .storyArea .heading h3::before{
    content: "";
    background:url("../images/concept/txt_story.png") no-repeat center center;
    position: absolute;
    top:0;
    left:20px;
    transform: translate(0,-50%);
    width:200px;
    height:30px;
    text-align: center;
    z-index: 20;
}
.concept .storyArea .heading h3::after{
    content: "";
    position: absolute;
    top:3px;
    left:3px;
    width:100%;
    height:100%;
    box-sizing: border-box;
    border:1px solid #000000;
    background: #FFFFFF;
    z-index: 5;
}
.concept .storyArea .heading h3 span img{
    width:171px;
    height:29px;
    margin: auto;
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    z-index: 90;
}
.concept .storyArea .heading h3 span::before{
    content:"";
    width:200px;
    height:15px;
    position: absolute;
    top:-15px;
    left:20px;
    background: #F4F1ED;
    z-index: 10;
}
.concept .storyArea .heading h3 span::after{
    content:"";
    width:200px;
    height:15px;
    position: absolute;
    top:0;
    left:20px;
    background: #FFFFFF;
    z-index: 10;
}
.concept .storyArea .heading .text{
    font-size:20px;
    margin-top: 30px;
}
.concept .storyArea .story001{
    width:1082px;
    margin: 30px auto 120px;
}
.concept .storyArea .story001 .introBox h3{
    font-size:29px;
    line-height: 1.8;
    text-align: center;
    margin-bottom: 10px;
}
.concept .storyArea .story001 .introBox h3 img{
    margin-bottom: 20px;
}
.concept .storyArea .story001 .introBox .text{
    width:640px;
    margin: 0 auto 20px;
}
.concept .storyArea .story001 .answerBox{
    width:100%;
    padding: 80px 0;
    text-align: center;
    border-radius: 15px;
    background: #F4F1ED;
    position: relative;
}
.concept .storyArea .story001 .answerBox h4{
    width:680px;
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:auto;
    margin:auto;
    line-height: 64px;
    background: #FFFFFF;
    border-radius: 0 0 15px 15px;
    text-align: center;
}
.concept .storyArea .story001 .answerBox h4 span{
    padding: 0 0 0 125px;
    line-height: 64px;
    background: url("../images/concept/txt_anchor1.png") no-repeat left center;
    font-size:28px;
    font-family: "dnp-shuei-mgothic-std", sans-serif;
    color:#54A47F;
}
.concept .storyArea .story001 .answerBox .up{
    width:814px;
    margin: 10px auto 20px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap:10px;
}
.concept .storyArea .story001 .answerBox .up .box{
    position: relative;
}
.concept .storyArea .story001 .answerBox .up .box.box001 .icon{
    position: absolute;
    left:0;
    bottom:-10px;
    transform: translate(-50%,0);
}
.concept .storyArea .story001 .answerBox .up .box.box002 .icon{
    position: absolute;
    top:45px;
    left:45px;
}
.concept .storyArea .story001 .answerBox .up .box.box003 .icon{
    position: absolute;
    top:30px;
    right:20px;
}
.concept .storyArea .story001 .answerBox .text{
    font-size:14px;
    position: absolute;
    bottom:0;
    right:86px;
    line-height: 2;
}
.concept .storyArea .story002{
    width:1082px;
    margin: 30px auto 120px;
}
.concept .storyArea .story002 .introBox h3{
    font-size:29px;
    line-height: 1.8;
    text-align: center;
    margin-bottom: 10px;
}
.concept .storyArea .story002 .introBox h3 img{
    margin-bottom: 20px;
}
.concept .storyArea .story002 .introBox .text{
    width:640px;
    font-size:15px;
    margin: 0 auto 20px;
    line-height: 2;
}
.concept .storyArea .story002 .answerBox{
    width:100%;
    padding: 80px 0 50px;
    text-align: center;
    border-radius: 15px;
    background: #F4F1ED;
    position: relative;
    margin-bottom: 64px;
}
.concept .storyArea .story002 .answerBox h4{
    width:680px;
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:auto;
    margin:auto;
    line-height: 64px;
    background: #FFFFFF;
    border-radius: 0 0 15px 15px;
    text-align: center;
}
.concept .storyArea .story002 .answerBox h4 span{
    padding: 0 0 0 125px;
    line-height: 64px;
    background: url("../images/concept/txt_anchor2.png") no-repeat left center;
    font-size:28px;
    font-family: "dnp-shuei-mgothic-std", sans-serif;
    color:#54A47F;
}
.concept .storyArea .story002 .answerBox .flexBox{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
    width:100%;
    box-sizing: border-box;
    padding: 0 50px;
}
.concept .storyArea .story002 .answerBox .flexBox .box{
    position: relative;
}
.concept .storyArea .story002 .answerBox .flexBox .box.box001,
.concept .storyArea .story002 .answerBox .flexBox .box.box002{
    margin: 110px 30px 0 30px;
}
.concept .storyArea .story002 .answerBox .flexBox .box.box003,
.concept .storyArea .story002 .answerBox .flexBox .box.box004,
.concept .storyArea .story002 .answerBox .flexBox .box.box005{
    margin-top: 175px;
}
.concept .storyArea .story002 .answerBox .flexBox .box .title{
    position: absolute;
    top:auto;
    left:0;
    right:0;
    bottom:100%;
    text-align: center;
}
.concept .storyArea .story002 .answerBox .flexBox .box .img{
    padding: 20px 0 0;
    vertical-align: top;
}
.concept .storyArea .story002 .answerBox .flexBox .img001{
    position: absolute;
    top: 200px;
    left: 66px;
    right: auto;
    bottom: auto;
    margin: auto;
}
.concept .storyArea .story002 .answerBox .flexBox .img002{
    position: absolute;
    top: 30px;
    left: auto;
    right: 40px;
    bottom: auto;
    margin: auto;
}
.concept .storyArea .story002 .answerBox .flexBox .img003{
    position: absolute;
    top: auto;
    left: 30px;
    right: auto;
    bottom: 166px;
    margin: auto;
}
.concept .storyArea .story002 .answerBox .text{
    font-size:14px;
    position: absolute;
    bottom:0;
    right:86px;
    line-height: 2;
}
.concept .storyArea .linkBox{
    position: relative;
}
.concept .storyArea .linkBox::before{
    content: "";
    background: url("../images/concept/icon_arrow.png") no-repeat center center;
    width:32px;
    height:36px;
    margin: auto;
    position: absolute;
    top:-50px;
    left:0;
    right:0;
    bottom:auto;
}
.concept .storyArea .story002 .linkBox .box{
    margin: 40px auto;
    text-align: center;
}
.concept .storyArea .story002 .linkBox .box h5{
    width:730px;
    line-height: 48px;
    background: rgba(52,136,30,0.2);
    border-radius: 24px;
    font-size:28px;
    font-weight: bold;
    margin:0 auto 10px;
    text-align: center;
}
.concept .storyArea .story002 .linkBox .box .text{
    line-height: 2;
    margin: 0 auto 20px;
}
.concept .storyArea .story002 .linkBox .btn{
    width:333px;
    height:55px;
    margin: 20px auto 0;
    text-align: center;
}
.concept .storyArea .story002 .linkBox .btn a{
    width:100%;
    height:100%;
    box-sizing: border-box;
    border:1px solid #000000;
    background: #FFFFFF;
    line-height: 53px;
    text-align: center;
    padding:0;
    position: relative;
    display: inline-block;
    font-weight: bold;
}
.concept .storyArea .story002 .linkBox .btn a::before{
    content: "";
    width:100%;
    height:100%;
    border:1px solid #000000;
    background: #FFFFFF;
    position: absolute;
    top:3px;
    left:3px;
    z-index: -999;
}
.concept .storyArea .story002 .linkBox .btn a::after{
    content: "";
    width:50px;
    height:19px;
    background: url("../images/concept/icon_next.png") no-repeat center center;
    position: absolute;
    top:0px;
    left:auto;
    right:15px;
    bottom:0;
    margin: auto;
    z-index: 10;
}
.concept .storyArea .story002 .linkBox .btn a:hover{
    transform: translate(4px ,4px);
}
.concept .storyArea .story002 .linkBox .btn a:hover::before{
    top:-1px;
    left:-1px;
}
.concept .storyArea .story002 .linkBox .btn a span{
    display: inline-block;
    font-size:17px;
    line-height: 53px;
    font-weight: bold;
}
.concept .storyArea .story003{
    width:1082px;
    margin: 30px auto 120px;
}
.concept .storyArea .story003 .introBox h3{
    font-size:29px;
    line-height: 1.8;
    text-align: center;
    margin-bottom: 10px;
}
.concept .storyArea .story003 .introBox h3 img{
    margin-bottom: 20px;
}
.concept .storyArea .story003 .introBox .text{
    width:640px;
    font-size:15px;
    margin: 0 auto 20px;
    line-height: 2;
}
.concept .storyArea .story003 .answerBox{
    width:100%;
    padding: 90px 0 75px;
    text-align: center;
    border-radius: 15px;
    background: #F4F1ED;
    position: relative;
    margin-bottom: 64px;
}
.concept .storyArea .story003 .answerBox h4{
    width:680px;
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:auto;
    margin:auto;
    line-height: 64px;
    background: #FFFFFF;
    border-radius: 0 0 15px 15px;
    text-align: center;
}
.concept .storyArea .story003 .answerBox h4 span{
    padding: 0 0 0 125px;
    line-height: 64px;
    background: url("../images/concept/txt_anchor3.png") no-repeat left center;
    font-size:28px;
    font-family: "dnp-shuei-mgothic-std", sans-serif;
    color:#54A47F;
}
.concept .storyArea .story003 .answerBox .icon{
    position: absolute;
    bottom:95px;
    left:15px;
}
.concept .storyArea .story003 .linkBox .box{
    margin: 40px auto;
    text-align: center;
}
.concept .storyArea .story003 .linkBox .box h5{
    width:730px;
    line-height: 48px;
    background: rgba(52,136,30,0.2);
    border-radius: 24px;
    font-size:28px;
    font-weight: bold;
    margin:0 auto 10px;
    text-align: center;
}
.concept .storyArea .story003 .linkBox .box .text{
    line-height: 2;
    margin: 0 auto 20px;
}
.concept .storyArea .story003 .linkBox .btn{
    width:333px;
    height:55px;
    margin: 20px auto 0;
    text-align: center;
}
.concept .storyArea .story003 .linkBox .btn a{
    width:100%;
    height:100%;
    box-sizing: border-box;
    border:1px solid #000000;
    background: #FFFFFF;
    line-height: 53px;
    text-align: center;
    padding:0;
    position: relative;
    display: inline-block;
    font-weight: bold;
}
.concept .storyArea .story003 .linkBox .btn a::before{
    content: "";
    width:100%;
    height:100%;
    border:1px solid #000000;
    background: #FFFFFF;
    position: absolute;
    top:3px;
    left:3px;
    z-index: -999;
}
.concept .storyArea .story003 .linkBox .btn a::after{
    content: "";
    width:50px;
    height:19px;
    background: url("../images/concept/icon_next.png") no-repeat center center;
    position: absolute;
    top:0px;
    left:auto;
    right:15px;
    bottom:0;
    margin: auto;
    z-index: 10;
}
.concept .storyArea .story003 .linkBox .btn a:hover{
    transform: translate(4px ,4px);
}
.concept .storyArea .story003 .linkBox .btn a:hover::before{
    top:-1px;
    left:-1px;
}
.concept .storyArea .story003 .linkBox .btn a span{
    display: inline-block;
    font-size:17px;
    line-height: 53px;
    font-weight: bold;
}
@media (max-width: 740px) {
.concept .visualArea{
    height:auto;
    padding-top: 75%;
}
.concept .visualArea h2{
    font-size:24px;
}
.concept .visualArea h2::after{
    width:40px;
    height:2px;
}
.concept .visualArea img{
    position: absolute;
    top:0;
    left:0;
}
.concept .conceptArea{
    width:94%;
    margin: 50px auto;
}
.concept .conceptArea h3{
    font-size:24px;
}
.concept .conceptArea .anchor{
    width:100%;
    margin: 0 auto 50px;
    gap:10px;
}
.concept .conceptArea .concept001{
    width:100%;
    margin: 0 auto 50px;
}
.concept .conceptArea .concept002{
    width:100%;
    margin: 0 auto 50px;
}
.concept .conceptArea .concept003{
    width:100%;
    margin: 0 auto 50px;
}
.concept .conceptArea .concept001 .introArea .text,
.concept .conceptArea .concept002 .introArea .text,
.concept .conceptArea .concept003 .introArea .text{
    font-size:18px;
    margin: 10px auto 30px;
}
.concept .conceptArea .boxArea{
    display: block;
}
.concept .conceptArea .boxArea .box{
    width:100%;
    position: relative;
    margin: 30px auto;
}
.concept .conceptArea .boxArea .box .text{
    width:calc(100% - 140px);
    position: relative;
    margin: 30px auto;
}
.concept .conceptArea .boxArea .box.box001 .img{
    width:60px;
    height:60px;
    top:220px;
    left:0;
    right:auto;
    bottom:auto;
}
.concept .conceptArea .boxArea .box.box002 .img{
    width:60px;
    height:60px;
    top:auto;
    left:auto;
    right:0;
    bottom:auto;
}
.concept .conceptArea .boxArea .box.box003 .img{
    width:60px;
    height:60px;
    top:260px;
    left:0;
    right:auto;
    bottom:auto;
}
.concept .conceptArea .boxArea .box.box004 .img{
    width:60px;
    height:60px;
    top:auto;
    left:auto;
    right:0;
    bottom:auto;
    transform: none;
}
.concept .conceptArea .boxArea .box.box005 .img{
    width:60px;
    height:60px;
    top:auto;
    left:0;
    right:auto;
    bottom:auto;
}
.concept .conceptArea .boxArea .box.box006 .img{
    width:60px;
    height:60px;
    top:auto;
    left:auto;
    right:0;
    bottom:auto;
}
.concept .storyArea .heading{
    padding:30px 5%;
    box-sizing: border-box;
}
.concept .storyArea .heading h3{
    width:100%;
}
.concept .storyArea .heading h3 span{
    font-size:24px;
    font-weight: bold;
    padding: 20px 5%;
    box-sizing: border-box;
}
.concept .storyArea .heading h3::before{
    background:url("../images/concept/txt_story.png") no-repeat center center;
    background-size:contain;
    left:10px;
    width:100px;
    height:15px;
}
.concept .storyArea .heading h3 span img{
    width:171px;
    height:29px;
    margin: auto;
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    z-index: 90;
}
.concept .storyArea .heading h3 span::before{
    width:100px;
    height:10px;
    top:-10px;
}
.concept .storyArea .heading h3 span::after{
    width:100px;
    height:10px;
}
.concept .storyArea .heading .text{
    font-size:14px;
    margin-top: 20px;
}
.concept .storyArea .story001{
    width:94%;
    margin: 50px auto;
}
.concept .storyArea .story001 .introBox h3{
    font-size:21px;
    font-weight: bold;
}
.concept .storyArea .story001 .introBox .text{
    width:96%;
}
.concept .storyArea .story001 .answerBox{
    box-sizing: border-box;
    padding: 50px 5%;
}
.concept .storyArea .story001 .answerBox h4{
    width:92%;
    line-height: 40px;
}
.concept .storyArea .story001 .answerBox h4 span{
    padding: 0 0 0 60px;
    line-height: 1.8;
    background-size:56px 19px;
    font-size:14px;
}
.concept .storyArea .story001 .answerBox .up{
    width:100%;
    grid-template-columns: 1fr;
}
.concept .storyArea .story001 .answerBox .up .box.box001 .icon,
.concept .storyArea .story001 .answerBox .up .box.box002 .icon,
.concept .storyArea .story001 .answerBox .up .box.box003 .icon{
    display: none;
}
.concept .storyArea .story001 .answerBox .text{
    font-size:12px;
    bottom:5px;
    right:20px;
}
.concept .storyArea .story002{
    width:94%;
    margin: 50px auto;
}
.concept .storyArea .story002 .introBox h3{
    font-size:21px;
    font-weight: bold;
}
.concept .storyArea .story002 .introBox .text{
    width:96%;
}
.concept .storyArea .story002 .answerBox{
    box-sizing: border-box;
    padding: 50px 5% 20px;
}
.concept .storyArea .story002 .answerBox h4{
    width:92%;
    line-height: 40px;
}
.concept .storyArea .story002 .answerBox h4 span{
    padding: 0 0 0 60px;
    line-height: 1.8;
    background-size:56px 19px;
    font-size:14px;
}
.concept .storyArea .story002 .answerBox .flexBox{
    padding: 0;
}
.concept .storyArea .story002 .answerBox .flexBox .box{
    width:90%;
    text-align: center;
}
.concept .storyArea .story002 .answerBox .flexBox .box.box001,
.concept .storyArea .story002 .answerBox .flexBox .box.box002{
    margin: 20px auto;
}
.concept .storyArea .story002 .answerBox .flexBox .box.box003,
.concept .storyArea .story002 .answerBox .flexBox .box.box004,
.concept .storyArea .story002 .answerBox .flexBox .box.box005{
    margin: 20px auto;
}
.concept .storyArea .story002 .answerBox .flexBox .box .title{
    position: static;
}
.concept .storyArea .story002 .answerBox .flexBox .box .img{
    padding: 20px 0 0;
}
.concept .storyArea .story002 .answerBox .flexBox .img001,
.concept .storyArea .story002 .answerBox .flexBox .img002,
.concept .storyArea .story002 .answerBox .flexBox .img003{
    display: none;
}
.concept .storyArea .story002 .answerBox .text{
    font-size:12px;
    bottom:5px;
    right:20px;
}
.concept .storyArea .story002 .linkBox .box{
    margin: 30px auto;
}
.concept .storyArea .story002 .linkBox .box h5{
    width:100%;
    line-height: 40px;
    border-radius: 20px;
    font-size:20px;
}
.concept .storyArea .story002 .linkBox .btn{
    width:96%;
}
.concept .storyArea .story002 .linkBox .btn a::before{
    content: "";
    width:100%;
    height:100%;
    border:1px solid #000000;
    background: #FFFFFF;
    position: absolute;
    top:3px;
    left:3px;
    z-index: -999;
}
.concept .storyArea .story003{
    width:94%;
    margin: 50px auto;
}
.concept .storyArea .story003 .introBox h3{
    font-size:21px;
    font-weight: bold;
}
.concept .storyArea .story003 .introBox .text{
    width:96%;
}
.concept .storyArea .story003 .answerBox{
    box-sizing: border-box;
    padding: 50px 5% 20px;
}
.concept .storyArea .story003 .answerBox h4{
    width:92%;
    line-height: 40px;
}
.concept .storyArea .story003 .answerBox h4 span{
    padding: 0 0 0 60px;
    line-height: 1.8;
    background-size:56px 19px;
    font-size:14px;
}
.concept .storyArea .story003 .answerBox .icon{
    display: none;
}
.concept .storyArea .story003 .linkBox .box{
    margin: 40px auto;
}
.concept .storyArea .story003 .linkBox .box h5{
    width:100%;
    line-height: 40px;
    border-radius: 20px;
    font-size:20px;
}
.concept .storyArea .story003 .linkBox .btn{
    width:96%;
}
}
@media (max-width: 500px) {
.concept .conceptArea .boxArea .box .text {
    width: 90%;
}
.concept .conceptArea .boxArea .box .img{
    display: none;
}
}


/*--------------------------------------
    landscape
--------------------------------------*/

.landscape .visualArea{
    width:100%;
    height:600px;
    position: relative;
    margin-top: 30px;
}
.landscape .visualArea h2{
    font-size:32px;
    text-align: center;
    font-weight: bold;
    position: absolute;
    top:5px;
    left:50%;
    transform: translate(-50%,0);
    z-index: 20;
}
.landscape .visualArea h2::after{
    width:60px;
    height:3px;
    content: "";
    display: block;
    background: #AACC03;
    margin: 0 auto;
}
.landscape .visualArea img{
    width:100%;
    height:100%;
    object-fit: cover;
}
.landscape section{
    margin: 70px auto 140px;
}
.landscape .section001{
    width:980px;
}
.landscape .section001 h3{
    width:624px;
    height:55px;
    line-height: 55px;
    border-radius: 28px;
    font-size:30px;
    font-weight: bold;
    position: relative;
    background: rgba(63,151,40,0.2);
    text-align: center;
    margin: 0 auto 30px;
}
.landscape .section001 h3::before{
    width:136px;
    height:80px;
    background: url("../images/landscape/img_001.png") no-repeat center center;
    content: "";
    position: absolute;
    top:-50px;
    left:-50px;
}
.landscape .intro{
    margin-bottom: 50px;
}
.landscape .intro .text{
    font-size:20px;
    line-height: 1.8;
    text-align: center;
}
.landscape .reasonslider{
    width:980px;
    height:420px;
    margin: 0 auto;
    position: relative;
}
.landscape .reasonslider .slick-list{
    padding:0 !important;
}
.landscape .reasonslider .slick-arrow{
    width:48px;
    height:36px;
    position: absolute;
    top:0;
    bottom:0;
    margin: auto;
}
.landscape .reasonslider .slick-arrow.prev-arrow{
    background: url("../images/landscape/icon_prev.png") no-repeat center center;
    left:-60px;
}
.landscape .reasonslider .slick-arrow.next-arrow{
    background: url("../images/landscape/icon_next.png") no-repeat center center;
    right:-60px;
}
.landscape .reasonslider .box{
    width:980px;
    height:420px;
    margin-right: 50px;
    position: relative;
}
.landscape .reasonslider .box .thumbArea{
    width:610px;
    height:420px;
    margin-left: auto;
    margin-right: 0;
    border-radius: 20px;
    overflow: hidden;
}
.landscape .reasonslider .box .thumbArea img{
    width:100%;
    height:100%;
    object-fit: cover;
}
.landscape .reasonslider .box .textArea{
    width:382px;
    box-sizing: border-box;
    padding: 82px 41px 36px;
    background: rgba(255,255,255,0.8);
    position: absolute;
    top:50%;
    left:0;
    transform: translate(0,-50%);
}
.landscape .reasonslider .box .textArea h4{
    font-size:26px;
    font-weight: bold;
    margin-bottom: 20px;
    position: relative;
}
.landscape .reasonslider .box .textArea h4 span{
    position: absolute;
    top:-50px;
    left:-20px;
}
.landscape .reasonslider .box .textArea .text{
    line-height: 1.8;
}
.landscape .reasonslider .box .textArea .img002{
    width:164px;
    height:50px;
    margin: 20px 0 0 auto;
}
.landscape .reasonslider .slick-dots{
    width:980px;
    margin: 20px auto;
    text-align: center;
}
.landscape .reasonslider .slick-dots li{
    display: inline-block;
    margin: 0 8px;
}
.landscape .reasonslider .slick-dots li button{
    width:12px;
    height:12px;
    border-radius: 6px;
    background: #CCCCCC;
    border:none;
    text-indent: -9999px;
    overflow: hidden;
}
.landscape .reasonslider .slick-dots .slick-active button{
    background: #444444;
}
.landscape .section002{
    width:900px;
}
.landscape .section002 h3{
    width:624px;
    height:55px;
    line-height: 55px;
    border-radius: 28px;
    font-size:30px;
    font-weight: bold;
    position: relative;
    background: rgba(63,151,40,0.2);
    text-align: center;
    margin: 0 auto 30px;
}
.landscape .section002 h3::before{
    width:114px;
    height:62px;
    background: url("../images/landscape/img_003.png") no-repeat center center;
    content: "";
    position: absolute;
    top:-54px;
    right:-30px;
}
.landscape .section002 .codeArea .box{
    width:900px;
    height:318px;
    margin:0 auto 75px;
    position: relative;
    display: flex;
    align-items: center;
}
.landscape .section002 .codeArea .box:nth-child(2n+1){
    flex-direction: row-reverse;
}
.landscape .section002 .codeArea .box .thumbArea{
    width:477px;
    height:318px;
    border-radius: 20px;
    overflow: hidden;
}
.landscape .section002 .codeArea .box .thumbArea img{
    width:100%;
    height:100%;
    object-fit: cover;
}
.landscape .section002 .codeArea .box .thumbArea{
    width:477px;
    height:318px;
    border-radius: 20px;
    overflow: hidden;
}
.landscape .section002 .codeArea .box .textArea{
    width:423px;
    padding:0 20px 0 50px;
    box-sizing: border-box;
}
.landscape .section002 .codeArea .box:nth-child(2n) .textArea{
    padding:20px 50px 0 20px;
}
.landscape .section002 .codeArea .box .textArea span{
    display: block;
    position: relative;
}
.landscape .section002 .codeArea .box .textArea span::after{
    width:226px;
    height:3px;
    content: "";
    position: absolute;
    top:50%;
    left:120px;
    background: url("../images/landscape/bg_code.png") no-repeat center center;
}
.landscape .section002 .codeArea .box .textArea h4{
    font-size:28px;
    line-height: 1.3;
    font-weight: bold;
    margin: 30px auto 10px;
}
.landscape .section002 .codeArea .box .textArea .text{
    font-size:15px;
    line-height: 1.8;
}
.landscape .section002 .codeArea .box .img001{
    position: absolute;
    top:65px;
    left:-32px;
}
.landscape .section002 .codeArea .box .img002{
    position: absolute;
    top:25px;
    right:-10px;
}
.landscape .section002 .codeArea .box .img003{
    position: absolute;
    bottom:-12px;
    left:-80px;
}
.landscape .bnrArea{
    width:1000px;
    height:200px;
    margin: 0 auto;
    text-align: center;
}
@media (max-width: 740px) {
.landscape .visualArea{
    height:auto;
    padding-top: 75%;
}
.landscape .visualArea h2{
    font-size:24px;
}
.landscape .visualArea h2::after{
    width:40px;
    height:2px;
}
.landscape .visualArea img{
    position: absolute;
    top:0;
    left:0;
}
.landscape section{
    margin: 30px auto;
}
.landscape .section001{
    width:94%;
}
.landscape .section001 h3{
    width:100%;
    height:40px;
    line-height: 40px;
    border-radius: 20px;
    font-size:20px;
    margin: 0 auto 20px;
}
.landscape .section001 h3::before{
    display: none;
}
.landscape .intro{
    margin-bottom: 40px;
}
.landscape .intro .text{
    font-size:14px;
    line-height: 1.5;
}
.landscape .reasonslider{
    width:94%;
    height:auto;
    margin: 0 auto;
    position: relative;
}
.landscape .reasonslider .slick-list{
    padding:0 !important;
}
.landscape .reasonslider .slick-arrow{
    width: 24px;
    height: 18px;
    top:60%;
    bottom:auto;
}
.landscape .reasonslider .slick-arrow.prev-arrow{
    background-size:contain;
    left:-10px;
}
.landscape .reasonslider .slick-arrow.next-arrow{
    background-size:contain;
    right:-10px;
}
.landscape .reasonslider .box{
    width:auto;
    height:auto;
    margin-left: 10px;
    margin-right: 10px;
}
.landscape .reasonslider .box .thumbArea{
    width:100%;
    height:auto;
}
.landscape .reasonslider .box .thumbArea img{
    height:auto;
}
.landscape .reasonslider .box .textArea{
    width:calc(100% - 20px);
    padding: 82px 0 0;
    background: none;
    position: static;
    transform: none;
    margin-top: 10px;
    text-align: center;
    margin: 0 auto;
}
.landscape .reasonslider .box .textArea h4{
    font-size:24px;
    display: inline-block;
}
.landscape .reasonslider .box .textArea .text{
    line-height: 1.5;
    text-align: left;
}
.landscape .reasonslider .box .textArea .img002{
    display: none;
}
.landscape .reasonslider .slick-dots{
    width:100%;
}
.landscape .section002{
    width:94%;
}
.landscape .section002 h3{
    width:100%;
    height:40px;
    line-height: 40px;
    border-radius: 20px;
    font-size:20px;
    margin: 0 auto 20px;
}
.landscape .section002 h3::before{
    display: none;
}
.landscape .section002 .codeArea .box{
    width:100%;
    height:auto;
    margin:0 auto 30px;
    display: block;
}
.landscape .section002 .codeArea .box .thumbArea{
    width:100%;
    height:auto;
    margin: 20px auto;
}
.landscape .section002 .codeArea .box .thumbArea img{
    height:auto;
}
.landscape .section002 .codeArea .box .textArea{
    width:100%;
    padding:0 20px;
    overflow: hidden;
}
.landscape .section002 .codeArea .box:nth-child(2n) .textArea{
    padding:0 20px;
}
.landscape .section002 .codeArea .box .textArea span::after {
    width: 100%;
    background: url(../images/landscape/bg_code.png) repeat-x center center;
}
.landscape .section002 .codeArea .box .textArea h4{
    font-size:20px;
    text-align: center;
}
.landscape .section002 .codeArea .box .textArea .text{
    font-size:14px;
    line-height: 1.5;
}
.landscape .bnrArea{
    width:94%;
    height:auto;
}
}

/*--------------------------------------
    performance
--------------------------------------*/

.performance h2.style002{
    font-size:32px;
    text-align: center;
    font-weight: bold;
    position: relative;
    margin: 50px auto 30px;
}
.performance h2.style002::after{
    width:60px;
    height:3px;
    content: "";
    display: block;
    background: #AACC03;
    margin: 0 auto;
}
.performance .bnrArea .bnr{
    width:900px;
    margin: 0 auto 30px;
    display: flex;
    align-items: center;
    position: relative;
    transition: 0.3s;
}
.performance .bnrArea .bnr .img{
    position: relative;
}
.performance .bnrArea .bnr .img::after{
    content: "";
    width:52px;
    height:18px;
    background: url("../images/performance/icon_arrow_001.png") no-repeat center center;
    position: absolute;
    top:0;
    left:auto;
    right:-65px;
    bottom:0;
    margin: auto;
}
.performance .bnrArea .bnr h3{
    font-size:31px;
    font-weight: bold;
    margin-left: 100px;
}
.performance .bnrArea .bnr .link{
    position: absolute;
    bottom:60px;
    right:0;
    display: inline-block;
    padding-right: 45px;
    background: url("../images/performance/icon_arrow_002.png") no-repeat right center;
    line-height: 2;
    font-size:20px;
    font-weight: bold;
    transition: 0.3s;
}
.performance .bnrArea .bnr:hover{
    opacity: 0.5;
}
.performance .bnrArea .bnr:hover img{
    opacity: 1;
}
.performance .anchorArea{
    width:788px;
    margin: 40px auto 50px;
}
.performance .anchorArea ul{
    display: flex;
    gap:2px;
}
.performance h3.pm001{
    font-size:36px;
    margin-bottom: 20px;
    text-align: center;
}
.performance h3.style_green{
    font-size:26px;
    text-align: center;
    font-weight: bold;
    line-height: 1;
    padding: 12px 0 10px 0;
    margin-bottom: 20px;
    background: #D3E8D1;
    border-radius: 24px;
}
.performance h3.style_brown{
    font-size:26px;
    text-align: center;
    font-weight: bold;
    line-height: 1;
    padding: 12px 0 10px 0;
    margin-bottom: 20px;
    background: rgba(199,178,153,0.3);
    border-radius: 24px;
}
.performance h3.style_brown span{
    font-size:21px;
    font-weight: bold;
    line-height: 1;
}
.performance .introArea{
    width:900px;
    margin: 0 auto 80px;
    position: relative;
    text-align: center;
}
.performance .introArea h2{
    margin-bottom: 20px;
}
.performance .introArea .text{
    font-size:20px;
    line-height: 1.8;
    margin-top: 20px;
}
.performance.choukiyuuryou .introArea .img{
    position: absolute;
    right:-20px;
    bottom:0;
}
.performance.choukiyuuryou .section001{
    width:733px;
    margin: 0 auto 100px;
}
.performance.choukiyuuryou .section001 .text{
    line-height: 1.8;
    text-align: center;
    margin: 20px auto 40px;
}
.performance.choukiyuuryou .section001 .imgArea{
    width:700px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.performance.choukiyuuryou .section002{
    width:733px;
    margin: 0 auto 120px;
}
.performance.choukiyuuryou .section003{
    width:733px;
    margin: 0 auto 70px;
}
.performance.choukiyuuryou .section004{
    width:733px;
    margin: 0 auto 70px;
}
.performance.choukiyuuryou .section005{
    width:733px;
    margin: 0 auto 160px;
}
.performance.choukiyuuryou .section006{
    width:733px;
    margin: 0 auto 120px;
}
.performance.choukiyuuryou .rankBox .box{
    width:645px;
    margin: 30px auto 0;
}
.performance.choukiyuuryou .rankBox .rank{
    text-align: center;
}
.performance.choukiyuuryou .rankBox .rank ul{
    display: flex;
    justify-content: center;
    margin-top: 10px;
}
.performance.choukiyuuryou .rankBox .rank ul li{
    width:97px;
    line-height: 1;
    font-size:15px;
    padding: 6px 0 5px;
    text-align: center;
    border-radius: 13px;
    color:#FFFFFF;
    background: #E6E6E6;
    display: inline-block;
    margin: 0 1px;
    font-family: "dnp-shuei-mgothic-std", sans-serif;
    font-weight: bold;
}
.performance.choukiyuuryou .rankBox .rank ul li.on{
    color:#000000;
    background: #B5D6B3;
}
.performance.choukiyuuryou .rankBox .box h4.style001{
    font-size:20px;
    text-align: center;
    position: relative;
    margin-bottom: 20px;
}
.performance.choukiyuuryou .rankBox .box h4.style001::after{
    content: "";
    width:362px;
    height:1px;
    position: absolute;
    top:100%;
    left:0;
    right:0;
    bottom:auto;
    margin: auto;
    background: #41AD36;
}
.performance.choukiyuuryou .section002.rankBox .flexBox{
    width:684px;
    margin: 40px auto;
    display: flex;
    align-items: center;
}
.performance.choukiyuuryou .section002.rankBox .flexBox .rank{
    width:297px;
    margin-right: 56px;
}
.performance.choukiyuuryou .section002.rankBox .flexBox .rank .title{
    line-height: 28px;
    font-family: "dnp-shuei-mgothic-std", sans-serif;
    background: #CEE7CB;
    display: block;
    text-align: center;
}
.performance.choukiyuuryou .section002.rankBox .flexBox .img001{
    margin-right: 34px;
}
.performance.choukiyuuryou .section002.rankBox .box{
    margin: 30px auto 60px;
}
.performance.choukiyuuryou .section002.rankBox .box h4.style002,
.performance.choukiyuuryou .section002.rankBox .box h4.style003{
    font-size:22px;
    line-height: 41px;
    background: rgba(170,204,3,0.2);
    border-radius: 21px;
    position: relative;
    text-align: center;
    margin-bottom: 30px;
    font-weight: bold;
}
.performance.choukiyuuryou .section002.rankBox .box h4.style002::before,
.performance.choukiyuuryou .section002.rankBox .box h4.style003::before{
    width:101px;
    height:4px;
    content: "";
    position: absolute;
    top:0;
    left:-105px;
    right:auto;
    bottom:0;
    margin: auto;
    background: url("../images/performance/choukiyuuryou/bg_line_001.png") no-repeat center center;
}
.performance.choukiyuuryou .section002.rankBox .box h4.style002::after{
    width:120px;
    height:66px;
    content: "";
    position: absolute;
    top:auto;
    left:auto;
    right:-124px;
    bottom:0;
    margin: auto;
    background: url("../images/performance/choukiyuuryou/img_003.png") no-repeat center center;
}
.performance.choukiyuuryou .section002.rankBox .box h4.style003::after{
    width:101px;
    height:4px;
    content: "";
    position: absolute;
    top:0;
    left:auto;
    right:-105px;
    bottom:0;
    margin: auto;
    background: url("../images/performance/choukiyuuryou/bg_line_001.png") no-repeat center center;
}
.performance.choukiyuuryou .section002.rankBox .box .column002{
    margin-top: 30px;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
}
.performance.choukiyuuryou .section002.rankBox .box .column002 .img{
    width:290px;
}
.performance.choukiyuuryou .section002.rankBox .box .column002 .text{
    width:318px;
    line-height: 1.8;
}
.performance.choukiyuuryou .rankBox .tableBox{
    margin-top: -40px;
}
.performance.choukiyuuryou .rankBox .tableBox .text{
    font-size:13px;
    line-height: 1.5;
    margin-bottom: 10px;
}
.performance.choukiyuuryou .rankBox .tableBox .comment{
    font-size:13px;
    line-height: 1.5;
    margin-top: 10px;
}
.performance.choukiyuuryou .subsidyBox .box{
    width:645px;
    margin: 20px auto 60px;
    text-align: center;
}
.performance.choukiyuuryou .subsidyBox .box h4{
    font-size:24px;
    line-height: bold;
    display: inline-block;
    position: relative;
    color:#54A77F;
    margin-bottom: 20px;
}
.performance.choukiyuuryou .subsidyBox .box h4::before{
    width:103px;
    height:5px;
    background: url("../images/performance/choukiyuuryou/bg_line_002.png") no-repeat center center;
    content: "";
    position: absolute;
    top:0;
    left:-120px;
    right:auto;
    bottom:0;
    margin: auto;
}
.performance.choukiyuuryou .subsidyBox .box h4::after{
    width:103px;
    height:5px;
    background: url("../images/performance/choukiyuuryou/bg_line_002.png") no-repeat center center;
    content: "";
    position: absolute;
    top:0;
    left:auto;
    right:-120px;
    bottom:0;
    margin: auto;
}
.performance.choukiyuuryou .subsidyBox .box .text{
    font-size:17px;
    line-height: 1.8;
    text-align: left;
}
.performance.choukiyuuryou .subsidyBox .box .text span{
    color:#D4145A;
}
.performance.choukiyuuryou .subsidyBox .box .img{
    margin: 20px auto;
}
.performance.choukiyuuryou .subsidyBox .box p.comment,
.performance.choukiyuuryou .subsidyBox .box ul.comment li{
    font-size:14px;
    line-height: 1.8;
    text-align: left;
}
.performance.choukiyuuryou .subsidyBox .box .flexBox{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 30px;
}
.performance.choukiyuuryou .subsidyBox .box .flexBox .left{
    width:418px;
}
.performance.choukiyuuryou .subsidyBox .box .flexBox .right{
    width:210px;
}
.performance.choukiyuuryou .subsidyBox .box .flexBox .right span{
    color:#54A77F;
}
.performance.choukiyuuryou .subsidyBox .box .flexBox .right .text{
    line-height: 1.3;
    font-size:15px;
}
.performance.choukiyuuryou .subsidyBox .box .flexBox .right .comment{
    line-height: 1.3;
    font-size:13px;
    margin-top: 20px;
}
.performance.syouene .section001{
    width:846px;
    margin: 80px auto;
}
.performance.syouene .section001 .meritBox{
    width:100%;
    padding: 55px 30px 20px;
    box-sizing: border-box;
    text-align: center;
    border-radius: 15px;
    background: #F6F9F2;
    position: relative;
}
.performance.syouene .section001 .meritBox h4{
    width:497px;
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:auto;
    margin:auto;
    line-height: 40px;
    background: #FFFFFF;
    border-radius: 0 0 15px 15px;
    text-align: center;
    font-size:27px;
    color:#54A47F;
}
.performance.syouene .section001 .meritBox .boxArea{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 50px;
}
.performance.syouene .section001 .meritBox .boxArea .box{
    position: relative;
}
.performance.syouene .section001 .meritBox .boxArea .box.box001 .icon{
    position: absolute;
    top:0;
    left:20px;
}
.performance.syouene .section001 .meritBox .boxArea .box.box002 .icon{
    position: absolute;
    top:10px;
    right:20px;
}
.performance.syouene .section001 .meritBox .boxArea .box.box003 .icon{
    position: absolute;
    top:-6px;
    right:15px;
}
.performance.syouene .section001 .meritBox .boxArea .box h5{
    font-size:21px;
    font-family: "dnp-shuei-mgothic-std", sans-serif;
    font-weight: bold;
    margin: 20px auto;
}
.performance.syouene .section001 .meritBox .boxArea .box .img{
    height:110px;
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.performance.syouene .section001 .meritBox .boxArea .box .text{
    font-size:15px;
    font-family: "dnp-shuei-mgothic-std", sans-serif;
}
.performance.syouene .section002{
    width:730px;
    margin: 0 auto 50px;
}
.performance.syouene .section002 h3.style_brown{
    position: relative;
}
.performance.syouene .section002 h3.style_brown span{
    position: absolute;
    top:30px;
    right:44px;
}
.performance.syouene .section002 .flexBox{
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
}
.performance.syouene .section002 .flexBox .imgBox{
    width:250px;
}
.performance.syouene .section002 .flexBox .imgBox .img002{
    margin-top: 20px;
}
.performance.syouene .section002 .flexBox .textBox{
    width:440px;
}
.performance.syouene .section002 .flexBox .textBox h4.style001{
    font-size:18px;
    font-weight: bold;
    position: relative;
    margin-bottom: 20px;
    border-bottom: 1px solid #41AD36;
    padding-bottom: 5px;
}
.performance.syouene .section002 .flexBox .textBox .text{
    font-size:17px;
    font-family: "dnp-shuei-mgothic-std", sans-serif;
    line-height: 1.8;
}
.performance.syouene .section002 .flexBox .textBox .value{
    font-size:20px;
    font-weight: bold;
    font-family: "dnp-shuei-mgothic-std", sans-serif;
    margin-top: 20px;
}
.performance.syouene .section002 .flexBox .textBox .value b{
    font-size:32px;
    font-weight: bold;
}
.performance.syouene .section002 .flexBox .textBox .value span{
    font-size:16px;
    font-weight: bold;
}
.performance.syouene .section002 .box{
    width:630px;
    margin: 40px auto 0;
}
.performance.syouene .section002 .box .value{
    font-size:20px;
    font-weight: bold;
    font-family: "dnp-shuei-mgothic-std", sans-serif;
    margin-top: 30px;
    text-align: center;
    background: #F6F9F2;
    line-height: 57px;
}
.performance.syouene .section003{
    width:730px;
    margin: 0 auto 120px;
}
.performance.syouene .section003 .box{
    margin: 30px auto;
    text-align: center;
}
.performance.syouene .section003 .box h4.style001{
    font-size:29px;
    font-weight: bold;
    position: relative;
    margin-bottom: 20px;
    border-bottom: 1px solid #41AD36;
    padding:0 20px 5px;
    text-align: center;
    display: inline-block;
}
.performance.syouene .section003 .box .text{
    text-align: left;
}
.performance.syouene .section003 .imgbox{
    display: flex;
    justify-content: space-between;
}
.performance.kouzou .introArea{
    margin: 0 auto 30px;
}
.performance.kouzou .section002,
.performance.kouzou .section004{
    width:750px;
    margin: 50px auto;
    position: relative;
}
.performance.kouzou .section001{
    width:750px;
    margin: 0 auto 100px;
    position: relative;
}
.performance.kouzou .section001 .img001{
    position: absolute;
    bottom:-80px;
    left:-80px;
}
.performance.kouzou .section002 .flexBox{
    width:710px;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    margin: 20px auto;
}
.performance.kouzou .section002 .flexBox .textBox{
    width:317px;
}
.performance.kouzou .section002 h4.style001{
    font-size:18px;
    font-weight: bold;
    position: relative;
    margin-bottom: 20px;
    border-bottom: 1px solid #41AD36;
    padding-bottom: 5px;
}
.performance.kouzou .section002 .img001{
    position: absolute;
    top:96px;
    left:-56px;
}
.performance.kouzou .section003{
    width:900px;
    margin: 50px auto;
    padding: 45px 0 60px 0;
    background: #FAFCF8;
}
.performance.kouzou .section003 .inner{
    width:730px;
    margin: 0 auto;
}
.performance.kouzou .section003 .flexBox{
    display: flex;
    justify-content: space-between;
}
.performance.kouzou .section003 .flexBox .box{
    width:326px;
}
.performance.kouzou .section003 .flexBox .box .thumb{
    margin-bottom: 20px;
}
.performance.kouzou .section003 .flexBox .box .textBox{
    margin-bottom: 20px;
}
.performance.kouzou .section003 .flexBox .box .textBox h4.style001{
    font-size:18px;
    font-weight: bold;
    position: relative;
    margin-bottom: 10px;
    border-bottom: 1px solid #41AD36;
    padding-bottom: 5px;
}
.performance.kouzou .section003 .inner .flexBox:last-child{
    margin-top: 60px;
    flex-direction: row-reverse;
}
.performance.kouzou .section003 .inner .flexBox:last-child .thumb{
    width:254px;
}
.performance.kouzou .section003 .inner .flexBox:last-child .textBox{
    width:435px;
}
.performance.kouzou .section003 .inner .flexBox:last-child .textBox h4.style001{
    font-size:26px;
    font-weight: bold;
    position: relative;
    margin-bottom: 10px;
    border-bottom: 1px solid #41AD36;
    padding-bottom: 5px;
    display: inline-block;
}
.performance.kouzou .section004 .pointArea .box001{
    display: grid;
    gap: 60px;
    grid-template-columns: 1fr 1fr;
    margin: 50px auto 100px;
}
.performance.kouzou .section004 .pointArea .box001 .thumb{
    grid-row-start: 1;
    grid-row-end: 3;
}
.performance.kouzou .section004 .pointArea .box001 .textBox{
    width:325px;
    padding-top: 44px;
    position: relative;
}
.performance.kouzou .section004 .pointArea .box002{
    width:730px;
    margin: 0 auto;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
}
.performance.kouzou .section004 .pointArea .box002 .textBox{
    width:316px;
    padding-top: 44px;
    position: relative;
}
.performance.kouzou .section004 .pointArea .textBox .icon{
    position: absolute;
    top:0;
    left:-20px;
}
.performance.kouzou .section004 .pointArea .textBox h4.style001{
    font-size:18px;
    font-weight: bold;
    position: relative;
    margin-bottom: 10px;
    border-bottom: 1px solid #41AD36;
    padding-bottom: 5px;
}
.performance.support .section001,
.performance.support .section002,
.performance.support .section003{
    width:750px;
    margin: 60px auto;
}
.performance.support h3.style_brown{
    width:730px;
    margin: 0 auto 30px;
    position: relative;
}
.performance.support h3.style_brown span{
    position: absolute;
    bottom:5px;
    right:-40px;
}
.performance.support .section001 .boxArea{
    width:100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap:50px;
}
.performance.support .section001 .boxArea .box .thumbArea{
    padding-top: 66px;
    margin-bottom: 15px;
    position: relative;
}
.performance.support .section001 .boxArea .box .thumbArea .note{
    width:164px;
    height:109px;
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:auto;
    margin: auto;
}
.performance.support .section002 .boxArea:nth-of-type(1){
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
}
.performance.support .section002 .boxArea:nth-of-type(1) .thumb{
    width:345px;
}
.performance.support .section002 .boxArea:nth-of-type(1) .text{
    width:345px;
}
.performance.support .section002 .boxArea:nth-of-type(2){
    width:100%;
    margin: 60px auto;
    text-align: center;
}
.performance.support .section002 .boxArea:nth-of-type(2) .text{
    font-size:20px;
    text-align: center;
    margin-top: 50px;
}
.performance.support .section002 .boxArea:nth-of-type(3){
    display: flex;
    justify-content: space-between;
}
.performance.support .section002 .boxArea:nth-of-type(3) .box{
    width:345px;
}
.performance.support .section002 .boxArea:nth-of-type(3) .box .thumb{
    text-align: center;
    margin-bottom: 20px;
}
.performance.support .section003 .box{
    margin: 50px auto 70px;
    padding:15px 0 0;
    border-top:2px solid #4CA535;
    position: relative;
}
.performance.support .section003 .box .note{
    position: absolute;
    top:-20px;
    left:28px;
}
.performance.support .section003 .box .thumb{
    width:430px;
    margin: 0 0 20px auto;
}
.performance.support .section003 .box .text{
    width:430px;
    margin: 0 0 0 auto;
}
.performance.support .section003 .box .comment{
    width:430px;
    margin: 10px 0 0 auto;
    font-size:14px;
}
.performance.ikkan .section001{
    width:1080px;
    margin: 50px auto;
}
.performance.ikkan .section001 .box{
    display: flex;
    align-items: center;
    margin: 40px 0;
}
.performance.ikkan .section001 .box:nth-child(2n+1){
    flex-direction: row-reverse;
}
.performance.ikkan .section001 .box .thumb{
    width:504px;
}
.performance.ikkan .section001 .box .textArea{
    width:401px;
    margin-left: 22px;
    position: relative;
}
.performance.ikkan .section001 .box:nth-child(2n+1) .textArea{
    margin-left:auto;
    margin-right:44px;
}
.performance.ikkan .section001 .box .textArea h4.style001{
    font-size:18px;
    font-weight: bold;
    position: relative;
    margin-bottom: 20px;
    border-bottom: 1px solid #41AD36;
    padding-bottom: 5px;
}
.performance.ikkan .section001 .box:nth-child(2) .textArea .img{
    position: absolute;
    right:-126px;
    bottom:-30px;
}
@media (max-width: 740px) {
.performance h2.style002{
    font-size:24px;
    margin: 40px auto 20px;
}
.performance h2.style002::after{
    width:40px;
    height:2px;
}
.performance .bnrArea .bnr{
    width:94%;
    margin: 0 auto 30px;
    display: block;
    padding-bottom: 50px;
}
.performance .bnrArea .bnr .img{
    position: relative;
    text-align: center;
}
.performance .bnrArea .bnr .img::after{
    display: none;
}
.performance .bnrArea .bnr h3{
    font-size:20px;
    margin: 20px auto 0;
    text-align: center;
}
.performance .bnrArea .bnr .link{
    width:190px;
    margin: auto;
    position: absolute;
    bottom:0px;
    right:0;
    left:0;
}
.performance .anchorArea{
    width:94%;
    margin: 30px auto;
}
.performance .anchorArea ul{
    justify-content: center;
}
.performance h3.pm001{
    font-size:20px;
}
.performance h3.style_green{
    width:100%;
    box-sizing: border-box;
    font-size:16px;
    padding: 10px 5% 8px;
    border-radius: 15px;
}
.performance h3.style_brown{
    width:100%;
    box-sizing: border-box;
    font-size:16px;
    padding: 10px 5% 8px;
    border-radius: 15px;
}
.performance h3.style_brown span{
    font-size:13px;
    display: block;
    text-align: center;
}
.performance .introArea{
    width:94%;
    margin: 0 auto 50px;
}
.performance .introArea .text{
    font-size:14px;
}
.performance.choukiyuuryou .introArea .img{
    display: none;
}
.performance.choukiyuuryou .section001{
    width:94%;
    margin: 0 auto 50px;
}
.performance.choukiyuuryou .section001 .imgArea{
    width:90%;
    display: block;
    margin: 0 auto 20px;
}
.performance.choukiyuuryou .section001 .imgArea .img002{
    width:100%;
    text-align: center;
    margin: 20px auto 0;
}
.performance.choukiyuuryou .section002{
    width:94%;
    margin: 0 auto 50px;
}
.performance.choukiyuuryou .section003{
    width:94%;
    margin: 0 auto 50px;
}
.performance.choukiyuuryou .section004{
    width:94%;
    margin: 0 auto 50px;
}
.performance.choukiyuuryou .section005{
    width:94%;
    margin: 0 auto 50px;
}
.performance.choukiyuuryou .section006{
    width:94%;
    margin: 0 auto 50px;
}
.performance.choukiyuuryou .rankBox .box{
    width:90%;
}
.performance.choukiyuuryou .rankBox .rank ul li{
    width:100%;
    max-width:97px;
}
.performance.choukiyuuryou .rankBox .box h4.style001{
    font-size:20px;
    text-align: center;
    position: relative;
    margin-bottom: 20px;
}
.performance.choukiyuuryou .rankBox .box h4.style001::after{
    width:50%;
}
.performance.choukiyuuryou .section002.rankBox .flexBox{
    width:100%;
    margin: 30px auto;
    display: block;
}
.performance.choukiyuuryou .section002.rankBox .flexBox .rank{
    width:297px;
    margin:20px auto;
}
.performance.choukiyuuryou .section002.rankBox .flexBox .img001{
    margin: 0 auto;
    text-align: center;
}
.performance.choukiyuuryou .section002.rankBox .flexBox .img002{
    margin: 20px auto 0;
    text-align: center;
}
.performance.choukiyuuryou .section002.rankBox .box{
    margin: 20px auto 50px;
}
.performance.choukiyuuryou .section002.rankBox .box h4.style002,
.performance.choukiyuuryou .section002.rankBox .box h4.style003{
    width:100%;
    box-sizing: border-box;
    font-size:16px;
    padding: 10px 5% 8px;
    border-radius: 15px;
    line-height: 1.5;
}
.performance.choukiyuuryou .section002.rankBox .box h4.style002::before,
.performance.choukiyuuryou .section002.rankBox .box h4.style003::before,
.performance.choukiyuuryou .section002.rankBox .box h4.style002::after,
.performance.choukiyuuryou .section002.rankBox .box h4.style003::after{
    display: none;
}
.performance.choukiyuuryou .section002.rankBox .box .column002{
    margin-top: 30px;
    display: block;
}
.performance.choukiyuuryou .section002.rankBox .box .column002 .img{
    width:100%;
    text-align: center;
    margin: 20px auto;
}
.performance.choukiyuuryou .section002.rankBox .box .column002 .text{
    width:100%;
    margin: 20px auto;
}
.performance.choukiyuuryou .rankBox .tableBox{
    width:100%;
    margin: 0 auto 20px;
}
.performance.choukiyuuryou .subsidyBox .box{
    width:94%;
    margin: 20px auto 40px;
}
.performance.choukiyuuryou .subsidyBox .box h4{
    font-size:20px;
}
.performance.choukiyuuryou .subsidyBox .box h4::before,
.performance.choukiyuuryou .subsidyBox .box h4::after{
    display: none;
}
.performance.choukiyuuryou .subsidyBox .box .text{
    font-size:14px;
}
.performance.choukiyuuryou .subsidyBox .box .flexBox{
    display: block;
}
.performance.choukiyuuryou .subsidyBox .box .flexBox .left{
    width:90%;
    margin: 0 auto 20px;
}
.performance.choukiyuuryou .subsidyBox .box .flexBox .right{
    width:90%;
    margin: 0 auto 20px;
}
.performance.syouene .section001{
    width:94%;
    margin: 40px auto;
}
.performance.syouene .section001 .meritBox{
    padding: 50px 5% 20px;
}
.performance.syouene .section001 .meritBox h4{
    width:92%;
    line-height: 40px;
    font-size:20px;
}
.performance.syouene .section001 .meritBox .boxArea{
    margin: 30px auto 0;
    display: grid;
    grid-template-columns: 1fr;
    column-gap: 20px;
}
.performance.syouene .section001 .meritBox .boxArea .box{
    position: relative;
    text-align: center;
}
.performance.syouene .section001 .meritBox .boxArea .box.box001 .icon,
.performance.syouene .section001 .meritBox .boxArea .box.box002 .icon,
.performance.syouene .section001 .meritBox .boxArea .box.box003 .icon{
    display: none;
}
.performance.syouene .section001 .meritBox .boxArea .box h5{
    font-size:18px;
}
.performance.syouene .section002{
    width:94%;
}
.performance.syouene .section002 h3.style_brown span{
    display: none;
}
.performance.syouene .section002 .flexBox{
    display: block;
}
.performance.syouene .section002 .flexBox .imgBox{
    width:250px;
    margin: 0 auto 30px;
}
.performance.syouene .section002 .flexBox .textBox{
    width:100%;
}
.performance.syouene .section002 .flexBox .textBox .text{
    font-size:15px;
    line-height: 1.5;
}
.performance.syouene .section002 .flexBox .textBox .value{
    font-size:15px;
}
.performance.syouene .section002 .flexBox .textBox .value b{
    font-size:20px;
}
.performance.syouene .section002 .flexBox .textBox .value span{
    font-size:14px;
}
.performance.syouene .section002 .box{
    width:90%;
    margin: 30px auto 0;
}
.performance.syouene .section002 .box .value{
    font-size:14px;
    line-height: 1.5;
    padding: 8px 5% 7px;
    width:100%;
    box-sizing: border-box;
}
.performance.syouene .section003{
    width:94%;
    margin: 0 auto 50px;
}
.performance.syouene .section003 h3.style_brown {
    font-size: 16px;
}
.performance.syouene .section003 .box h4.style001{
    font-size:18px;
}
.performance.syouene .section003 .imgbox{
    display: block;
    text-align: center;
}
.performance.syouene .section003 .imgbox .img002{
    margin-top: 20px;
}
.performance.kouzou .section002,
.performance.kouzou .section004{
    width:94%;
    margin: 40px auto;
}
.performance.kouzou .section001{
    width:94%;
    margin: 40px auto;
}
.performance.kouzou .section001 .img001{
    display: none;
}
.performance.kouzou .section002 .flexBox{
    width:100%;
    display: block;
    margin: 40px auto;
}
.performance.kouzou .section002 .flexBox .thumb{
    text-align: center;
}
.performance.kouzou .section002 .flexBox .textBox{
    width:100%;
    margin-top: 20px;
}
.performance.kouzou .section002 .img001{
    display: none;
}
.performance.kouzou .section003{
    width:94%;
    margin: 40px auto;
    padding: 0;
    background: none;
}
.performance.kouzou .section003 .inner{
    width:100%;
}
.performance.kouzou .section003 .flexBox{
    display: block;
}
.performance.kouzou .section003 .flexBox .box{
    width:100%;
    margin-bottom: 30px;
}
.performance.kouzou .section003 .flexBox .box .thumb{
    text-align: center;
}
.performance.kouzou .section003 .flexBox .box .textBox h4.style001{
    font-size:18px;
    font-weight: bold;
    position: relative;
    margin-bottom: 10px;
    border-bottom: 1px solid #41AD36;
    padding-bottom: 5px;
}
.performance.kouzou .section003 .inner .flexBox:last-child{
    margin-top: 30px;
}
.performance.kouzou .section003 .inner .flexBox:last-child .thumb{
    width:100%;
    text-align: center;
    margin-bottom: 20px;
}
.performance.kouzou .section003 .inner .flexBox:last-child .textBox{
    width:100%;
}
.performance.kouzou .section003 .inner .flexBox:last-child .textBox h4.style001{
    font-size:18px;
    font-weight: bold;
    position: relative;
    margin-bottom: 10px;
    border-bottom: 1px solid #41AD36;
    padding-bottom: 5px;
    display: block;
}
.performance.kouzou .section004 .pointArea .box001{
    display: block;
    margin: 20px auto 40px;
}
.performance.kouzou .section004 .pointArea .box001 .thumb{
    text-align: center;
    margin-bottom: 30px;
}
.performance.kouzou .section004 .pointArea .box001 .thumb img{
    max-width:246px;
    height:auto;
}
.performance.kouzou .section004 .pointArea .box001 .textBox{
    width:100%;
    margin-top: 30px;
}
.performance.kouzou .section004 .pointArea .box002{
    width:100%;
    margin: 30px auto 0;
    display: block;
}
.performance.kouzou .section004 .pointArea .box002 .thumb{
    text-align: center;
    margin-bottom: 30px;
}
.performance.kouzou .section004 .pointArea .box002 .textBox{
    width:100%;
}
.performance.kouzou .section004 .pointArea .textBox .icon{
    left:0;
}
.performance.support .section001,
.performance.support .section002,
.performance.support .section003{
    width:94%;
    margin: 40px auto;
}
.performance.support h3.style_brown{
    width:100%;
}
.performance.support h3.style_brown span{
    display: none;
}
.performance.support .section001 .boxArea{
    width:100%;
    display: block;
}
.performance.support .section001 .boxArea .box{
    margin-top: 40px;
}
.performance.support .section001 .boxArea .box .thumbArea{
    text-align: center;
}
.performance.support .section002 .boxArea:nth-of-type(1){
    display: block;
}
.performance.support .section002 .boxArea:nth-of-type(1) .box{
    margin-top: 40px;
}
.performance.support .section002 .boxArea:nth-of-type(1) .thumb{
    width:100%;
    text-align: center;
    margin-bottom: 30px;
}
.performance.support .section002 .boxArea:nth-of-type(1) .text{
    width:100%;
}
.performance.support .section002 .boxArea:nth-of-type(2){
    margin: 40px auto;
}
.performance.support .section002 .boxArea:nth-of-type(2) .thumb{
    width:100%;
    text-align: center;
    margin-bottom: 30px;
}
.performance.support .section002 .boxArea:nth-of-type(2) .text{
    font-size:15px;
    text-align: left;
    margin-top: 30px;
}
.performance.support .section002 .boxArea:nth-of-type(3){
    display: block;
}
.performance.support .section002 .boxArea:nth-of-type(3) .box{
    width:100%;
    margin-top: 30px;
}
.performance.support .section003 .box{
    margin: 30px auto 50px;
    padding:120px 0 0;
}
.performance.support .section003 .box .note{
    width:224px;
    margin: auto;
    position: absolute;
    top:-20px;
    left:0;
    right:0;
    bottom:auto;
}
.performance.support .section003 .box .thumb{
    width:100%;
    text-align: center;
    margin: 0 auto 30px;
}
.performance.support .section003 .box .text{
    width:100%;
    text-align: left;
    margin: 0 auto 30px;
}
.performance.support .section003 .box .comment{
    width:100%;
    margin: 10px auto;
}
.performance.ikkan .section001{
    width:94%;
    margin: 40px auto;
}
.performance.ikkan .section001 .box{
    display: block;
    margin: 30px auto;
}
.performance.ikkan .section001 .box .thumb{
    width:100%;
    text-align: center;
}
.performance.ikkan .section001 .box .textArea{
    width:100%;
    margin:20px auto 0;
}
.performance.ikkan .section001 .box:nth-child(2n+1) .textArea{
    margin-right:auto;
}
.performance.ikkan .section001 .box:nth-child(2) .textArea .img{
    display: none;
}
}


/*--------------------------------------
    schedule
--------------------------------------*/

.schedule{
    width:1084px;
    margin: 0 auto 0;
}
.schedule h2.style001{
    font-size:32px;
    font-weight: bold;
    position: relative;
    padding-bottom: 5px;
    margin:60px auto 90px;
    text-align: center;
}
.schedule h2.style001::after{
    content: "";
    width: 60px;
    height:3px;
    background: #AACC03;
    position: absolute;
    top:auto;
    left:0;
    right:0;
    bottom:0;
    margin: auto;
}
.schedule .introTitle{
    text-align: center;
    margin:10px auto 50px;
}
.schedule .introTitle span{
    display: block;
    width:624px;
    line-height: 55px;
    text-align: center;
    margin: auto;
    font-size:33px;
    font-weight: bold;
    background: rgba(170,204,3,0.3);
    border-radius: 28px;
    margin-top: 10px;
}
.schedule .introArea{
    border:1px solid;
    border-color:#000000 #000000 transparent #000000;
    border-radius: 25px 25px 0 0;
    position: relative;
    padding-top: 40px;
    margin-bottom: 50px;
}
.schedule .introArea::before{
    width:6px;
    height:6px;
    content: "";
    position: absolute;
    top:100%;
    left:0;
    border-radius: 50%;
    background: #000000;
    transform: translate(-3px,-3px);
}
.schedule .introArea::after{
    width:6px;
    height:6px;
    content: "";
    position: absolute;
    top:100%;
    left:100%;
    border-radius: 50%;
    background: #000000;
    transform: translate(-3px,-3px);
}
.schedule .introArea h3{
    font-size:33px;
    font-weight: bold;
    display: inline-block;
    padding:0 36px;
    border-left:1px dotted #000000;
    border-right:1px dotted #000000;
    position: absolute;
    top:0;
    left:50%;
    margin:auto;
    background: #FFFFFF;
    transform: translate(-50%,-50%);
}
.schedule .introArea h3::after{
    width:calc(100% - 72px);
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    margin: auto;
}
.schedule .introArea .text{
    font-size:20px;
    text-align: center;
    line-height: 2;
}
.schedule .patternArea{
    width:1016px;
    display: grid;
    gap: 30px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    position: relative;
    padding-bottom: 90px;
    margin:0 auto 50px;
}
.schedule .section001 .patternArea::after{
    position: absolute;
    top:10px;
    right:0;
    content: "";
    background: url("../images/schedule/img_002.png") no-repeat center center;
    width:127px;
    height:89px;
}
.schedule .patternArea .box .number{
    font-size:66px;
    font-family: "caflisch-script-pro", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    margin-bottom: 25px;
    padding-bottom: 10px;
    background: url("../images/schedule/bg_001.png") no-repeat left bottom;
}
.schedule .patternArea .box h4{
    font-size:29px;
    line-height: 1.2;
    margin-bottom: 15px;
}
.schedule .patternArea .box ul li{
    text-indent:-1em;
    padding-left: 1em;
    font-size:20px;
    line-height: 1.5;
    margin-bottom: 5px;
}
.schedule .patternArea .box ul li::before{
    content: "●";
    color:#AACC03;
}
.schedule .patternArea span{
    width:calc(100% - 51px);
    font-size:32px;
    text-align: center;
    line-height: 55px;
    background: rgba(0,172,168,0.3);
    position: absolute;
    left:0;
    bottom:0;
    margin: auto;
}
.schedule .patternArea span::after{
    content: "";
    position: absolute;
    top:calc(50% - 44px);
    left:100%;
    border-top:44px solid #FFFFFF;
    border-left:51px solid rgba(0,172,168,0.3);
    border-bottom:44px solid #FFFFFF;
}
.schedule .bnrArea{
    width:1000px;
    height:200px;
    margin: 0 auto;
    text-align: center;
}
@media (max-width: 740px) {
.schedule{
    width:94%;
}
.schedule h2.style001{
    font-size:24px;
    margin:40px auto;
}
.schedule h2.style001::after{
    width: 40px;
    height:2px;
}
.schedule .introTitle{
    text-align: center;
    margin:10px auto 50px;
}
.schedule .introTitle span{
    width:100%;
    line-height: 2;
    margin:20px auto;
    font-size:18px;
    border-radius: 24px;
}
.schedule .introArea{
    border:none;
    position: relative;
    padding-top: 0px;
    text-align: center;
}
.schedule .introArea::before,
.schedule .introArea::after{
    display: none;
}
.schedule .introArea h3{
    font-size:24px;
    display: inline-block;
    padding:0 20px;
    position: static;
    background: none;
    transform:none;
    margin-bottom: 20px;
}
.schedule .introArea .text{
    font-size:14px;
}
.schedule .patternArea{
    width:75%;
    margin: 0 auto 50px;
    display: grid;
    gap: 30px;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1fr 1fr 1fr;
    padding-bottom: 0;
}
.schedule .section001 .patternArea::after{
    top:auto;
    right:20px;
    bottom:50px;
    background-size:contain;
    width:64px;
    height:45px;
}
.schedule .section002 .patternArea{
    width:100%;
    box-sizing: border-box;
    padding-left: 25%;
    margin: 0 auto 50px;
    display: grid;
    gap: 30px;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1fr 1fr 1fr;
    padding-bottom: 0;
}
.schedule .patternArea .box{
    display: grid;
    gap:10px;
    grid-template-columns: 60px 1fr;
    grid-template-rows: 50px 1fr;
}
.schedule .patternArea .box .number{
    grid-row-start: 1;
    grid-row-end: 3;
    font-size:32px;
    width:60px;
    padding-bottom: 0;
    background: url("../images/schedule/bg_001.png") no-repeat left 40px;
    background-size:30px 3px;
    position: relative;
}
.schedule .patternArea .box h4{
    font-size:20px;
    line-height: 50px;
    margin-bottom: 0;
}
.schedule .section002 .patternArea .box .number::after{
    width:16px;
    height:151px;
    content: "";
    background: url("../images/schedule/icon_arrow.png") no-repeat center center;
    position: absolute;
    top:60px;
    left:5px;
}
.schedule .section002 .patternArea .box:last-of-type .number::after{
    display: none;
}
.schedule .section001 .patternArea:last-child .box:last-of-type h4,
.schedule .section002 .patternArea:last-child .box:last-of-type h4{
    line-height: 1.5;
}
.schedule .patternArea .box ul li{
    font-size:14px;
}
.schedule .patternArea span{
    width:30px;
    height:calc(100% - 60px);
    font-size:20px;
    writing-mode: vertical-rl;
    line-height: 30px;
    background: rgba(0,172,168,0.3);
    position: absolute;
    top:0;
    left:20px;
    right:auto;
    bottom:auto;
}
.schedule .patternArea span::after{
    content: "";
    position: absolute;
    top: 100%;
    left: -11px;
    right: auto;
    bottom: auto;
    border-top: 30px solid rgba(0,172,168,0.3);
    border-left: 25px solid #FFFFFF;
    border-right: 25px solid #FFFFFF;
}
.schedule .bnrArea{
    width:100%;
    height:auto;
}
}
@media (max-width: 500px) {
.schedule .patternArea{
    width:90%;
}
}

/*--------------------------------------
    contest
--------------------------------------*/

.contest section,
.contest .breadcrumbs{
    width:1084px;
    margin: 0 auto;
}
.contest h2.style001{
    font-size:32px;
    font-weight: bold;
    position: relative;
    padding-bottom: 5px;
    margin:60px auto 30px;
    text-align: center;
}
.contest h2.style001::after{
    content: "";
    width: 60px;
    height:3px;
    background: #AACC03;
    position: absolute;
    top:auto;
    left:0;
    right:0;
    bottom:0;
    margin: auto;
}
.contest .intro{
    text-align: center;
    margin-bottom: 100px;
}
.contest .intro .textArea{
    text-align: center;
    position: relative;
    padding: 125px 0 0;
    margin-bottom: 100px;
}
.contest .intro .textArea h3{
    font-size:29px;
    color:#4CA535;
    font-weight: bold;
}
.contest .intro .textArea span{
    display: block;
    font-size:29px;
    margin-bottom: 20px;
}
.contest .intro .textArea .text{
    font-size:20px;
    line-height: 2;
    margin: 0 auto 110px;
    text-align: center;
}
.contest .intro .textArea .img001{
    width:75px;
    height:79px;
    position: absolute;
    top:30px;
    left:0;
    right:0;
    bottom:auto;
    margin: auto;
}
.contest .intro .textArea .img002{
    width:113px;
    height:199px;
    position: absolute;
    top:auto;
    left:45px;
    right:auto;
    bottom:20px;
    margin: auto;
}
.contest .intro .textArea .img003{
    width:129px;
    height:178px;
    position: absolute;
    top:65px;
    left:auto;
    right:35px;
    bottom:auto;
    margin: auto;
}
.contest .intro .awardArea{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-column-gap: 25px;
}
.contest .intro .awardArea .award{
    height:116px;
    position: relative;
    background: url("../images/contest/bg_award.png") repeat-x center center;
}
.contest .intro .awardArea .award::before{
    width:56px;
    height:56px;
    content: "";
    background: url("../images/contest/icon_award_001.png") no-repeat center center;
    position: absolute;
    top: 4px;
    left:15px;
    transform: translate(0,-50%);
    z-index: 100;
}
.contest .intro .awardArea .award::after{
    width:100%;
    height:100%;
    content: "";
    background: rgba(255,255,0,0.3);
    position: absolute;
    top: 7px;
    left:0;
    z-index: -1;
}
.contest .intro .awardArea .award p{
    line-height: 1.5;
    text-align: center;
    position: absolute;
    top:50%;
    left:0;
    right:0;
    bottom:auto;
    transform: translate(0,-50%);
    margin: auto;
}
.contest .intro .awardArea .award p span{
    display: block;
    font-size:28px;
    line-height: 1.2;
    text-align: center;
}
.contest .method{
    text-align: center;
    margin-bottom: 100px;
}
.contest .method h3{
    display: inline-block;
    font-size:30px;
    margin-bottom: 30px;
    position: relative;
}
.contest .method h3::before{
    position: absolute;
    top:50%;
    left:-33px;
    content: "";
    background: url("../images/contest/icon_title_001.png") no-repeat center center;
    width:24px;
    height:38px;
    transform: translate(0,-50%);
}
.contest .method h3::after{
    position: absolute;
    top:50%;
    right:-33px;
    content: "";
    background: url("../images/contest/icon_title_002.png") no-repeat center center;
    width:26px;
    height:38px;
    transform: translate(0,-50%);
}
.contest .method .text{
    font-size:20px;
    margin: 0 auto 50px;
}
.contest .method .boxArea{
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.contest .method .boxArea .box{
    width:284px;
}
.contest .method .boxArea .box .pic{
    width:100%;
    height:172px;
    position: relative;
    margin-bottom: 10px;
    text-align: center;
}
.contest .method .boxArea .box .pic::before{
    content: "";
    width:55px;
    height:53px;
    position: absolute;
    top:0;
    left:0;
}
.contest .method .boxArea .box:nth-of-type(1) .pic::before{
    background: url("../images/contest/icon_method_001.png") no-repeat center center;
}
.contest .method .boxArea .box:nth-of-type(2) .pic::before{
    background: url("../images/contest/icon_method_002.png") no-repeat center center;
}
.contest .method .boxArea .box:nth-of-type(3) .pic::before{
    background: url("../images/contest/icon_method_003.png") no-repeat center center;
}
.contest .method .boxArea .box .pic img{
    position: absolute;
    top:auto;
    left:0;
    right:0;
    bottom:0;
    margin: auto;
}
.contest .method .boxArea .box .text{
    text-align: left;
    line-height: 1.8;
}
.contest .example{
    width:100%;
    padding: 50px 0 40px;
    background: rgba(199,178,153,0.15);
}
.contest .example h3{
    text-align: center;
    font-size:30px;
    margin-bottom: 30px;
}
.contest .example .boxArea{
    width:1084px;
    margin: 0 auto;
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
    text-align: center;
}
.contest .example .boxArea h4{
    display: block;
    width:216px;
    margin: 15px auto 0;
    position: relative;
    line-height: 1.3;
}
.contest .example .boxArea h4::before{
    width:8px;
    height:26px;
    content: "";
    background: url("../images/contest/icon_example_001.png") no-repeat center center;
    position: absolute;
    top:0;
    left:0;
    right:auto;
    bottom:0;
    margin: auto;
}
.contest .example .boxArea h4::after{
    width:8px;
    height:26px;
    content: "";
    background: url("../images/contest/icon_example_002.png") no-repeat center center;
    position: absolute;
    top:0;
    left:auto;
    right:0;
    bottom:0;
    margin: auto;
}
.contest .example .boxArea h4 span{
    display: block;
    font-size:22px;
}
.contest .point{
    margin: 70px auto;
}
.contest .point .box{
    margin: 30px 0;
}
.contest .point .box h3{
    font-size:22px;
    background: url("../images/contest/bg_line_002.png") repeat-x left bottom;
    padding-bottom: 5px;
    margin-bottom: 20px;
}
.contest .point .box .text{
    margin-bottom: 20px;
}
.contest .point .box .comment{
    text-indent:-1em;
    padding-left: 1em;
    margin: 20px auto 0;
}
.contest .point .box .comment::before{
    content: "※";
}
.contest .point .box ul li{
    text-indent:-1em;
    padding-left: 1em;
    margin-bottom: 5px;
}
.contest .point .box ul.style001 li::before{
    content: "●";
}
.contest .point .box ul.style002 li::before{
    content: "・";
}
@media (max-width: 500px) {
.contest section,
.contest .breadcrumbs{
    width:94%;
}
.contest h2.style001{
    font-size:24px;
    margin:40px auto;
}
.contest h2.style001::after{
    width: 40px;
    height:2px;
}
.contest .intro{
    margin-bottom: 50px;
}
.contest .intro .textArea{
    text-align: center;
    position: relative;
    padding: 125px 0 0;
    margin-bottom: 50px;
}
.contest .intro .textArea h3{
    font-size:21px;
}
.contest .intro .textArea span{
    font-size:18px;
}
.contest .intro .textArea .text{
    font-size:15px;
    line-height: 1.7;
    margin: 0 auto 40px;
}
.contest .intro .textArea .img004{
    max-width: 80%;
    margin: 20px auto;
}
.contest .intro .awardArea{
    display: block;
}
.contest .intro .awardArea .award{
    height:60px;
    margin-top: 50px;
    background-size:contain;
}
.contest .intro .awardArea .award::before{
    width: 28px;
    height: 28px;
    content: "";
    background-size: contain;
    left: 10px;
}
.contest .intro .awardArea .award p{
    font-size:14px;
    line-height: 20px;
}
.contest .intro .awardArea .award p span{
    display: inline-block;
    font-size:16px;
    margin-right: 15px;
    line-height: 20px;
    font-weight: bold;
}
.contest .method {
    text-align: center;
    margin-bottom: 50px;
}
.contest .method .boxArea{
    display:block;
}
.contest .method .boxArea .box{
    width:100%;
    margin-top: 30px;
    display: flex;
}
.contest .method .boxArea .box .pic{
    width:44%;
    box-sizing: border-box;
    padding-left: 60px;
    height:auto;
}
.contest .method .boxArea .box .pic::before{
    width:42px;
    height:42px;
    top:20px;
}
.contest .method .boxArea .box:nth-of-type(1) .pic::before{
    background-size:contain;
}
.contest .method .boxArea .box:nth-of-type(2) .pic::before{
    background-size:contain;
}
.contest .method .boxArea .box:nth-of-type(3) .pic::before{
    background-size:contain;
}
.contest .method .boxArea .box .pic img{
    position: static;
}
.contest .method .boxArea .box .text{
    font-size:14px;
    width:50%;
    margin-left: 6%;
}
.contest .example{
    padding: 30px 5%;
    box-sizing: border-box;
}
.contest .example h3{
    font-size:20px;
    margin-bottom: 20px;
}
.contest .example .boxArea{
    width:100%;
    gap:10px;
}
.contest .example .boxArea h4{
    width:100%;
    font-size:10px;
}
.contest .example .boxArea h4 span{
    font-size:12px;
}
.contest .point{
    margin: 40px auto;
}
}

/*--------------------------------------
    staff
--------------------------------------*/

.staff{
    width:1084px;
    margin: 0 auto;
}
.staff .parentCategory{
    width:1060px;
    display:grid;
    gap:28px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    margin: 30px auto;
}
.staff .parentCategory:has(> :nth-child(2):last-child){
    width:516px;
    grid-template-columns: 1fr 1fr;
}
.staff .parentCategory:has(> :nth-child(3):last-child){
    width:788px;
    grid-template-columns: 1fr 1fr 1fr;
}
.staff .parentCategory li.parent{
    width:244px;
    padding-bottom: 20px;
    position: relative;
}
.staff .parentCategory li.parent a.parentLink{
    width:100%;
    display: block;
    padding-top: 60px;
    padding-bottom: 5px;
    text-align: center;
    position: relative;
    font-size:23px;
    line-height: 40px;
    font-weight: bold;
}
.staff .parentCategory li.parent a.parentLink.voiceC{
    border-bottom: 2px solid #AACC03;
}
.staff .parentCategory li.parent a.parentLink.blogC{
    border-bottom: 2px solid #00ACA8;
}
.staff .parentCategory li.parent a.parentLink.columnC{
    border-bottom: 2px solid #4CA535;
}
.staff .parentCategory li.parent a.parentLink.staffC{
    border-bottom: 2px solid #AACC03;
}
.staff .parentCategory li.parent a.parentLink::before{
    width:100%;
    height:50px;
    content: "";
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:auto;
    margin: auto;
}
.staff .parentCategory li.parent a.parentLink.voiceC::before{
    background: url("../images/magazine/icon_category_001.png") no-repeat center center/contain;
}
.staff .parentCategory li.parent a.parentLink.blogC::before{
    background: url("../images/magazine/icon_category_002.png") no-repeat center center/contain;
}
.staff .parentCategory li.parent a.parentLink.columnC::before{
    background: url("../images/magazine/icon_category_003.png") no-repeat center center/contain;
}
.staff .parentCategory li.parent a.parentLink.staffC::before{
    background: url("../images/magazine/icon_category_004.png") no-repeat center center/contain;
}
.staff .parentCategory li.parent ul.child{
    width:100%;
    padding: 40px;
    box-sizing: border-box;
    position: absolute;
    top:calc(100% - 20px);
    left:0;
    right:0;
    bottom:auto;
    margin: auto;
    opacity: 0;
    transform: translate(0,15px);
    pointer-events: none;
    transition: 0.3s;
    z-index: 9000;
}
.staff .parentCategory li.parent:hover > ul.child{
    opacity: 1;
    transform: none;
    pointer-events: fill;
}
.staff .parentCategory li.parent ul.child::before{
    width:calc(100% - 40px);
    height:calc(100% - 30px);
    content: "";
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    margin: auto;
    box-sizing: border-box;
    border: 1px solid #CCCCCC;
    border-radius: 5px;
    background: #FFFFFF;
    z-index: 500;
}
.staff .parentCategory li.parent ul.child::after{
    width:15px;
    height:15px;
    content: "";
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:auto;
    margin: auto;
    box-sizing: border-box;
    border: 1px solid;
    border-color: #CCCCCC #CCCCCC transparent transparent;
    background: #FFFFFF;
    transform: translate(0,50%) rotate(-45deg);
    z-index: 500;
}
.staff .parentCategory li.parent ul.child li{
    margin-top: 20px;
}
.staff .parentCategory li.parent ul.child li:nth-of-type(1){
    margin-top: 0;
}
.staff .parentCategory li.parent ul.child li a{
    position: relative;
    z-index: 9000;
    color:#000000;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size:14px;
    line-height: 20px;
    font-weight: bold;
}
/*
.staff .magazineArea h2{
    font-size:24px;
    font-weight: bold;
    text-align: center;
    margin: 50px auto;
}
*/
.staff .magazineArea .boxArea{
    width:100%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    column-gap: 4%;
    grid-row-gap: 50px;
}
.staff .magazineArea .boxArea .box h2{
    font-weight: bold;
    text-align: center;
    margin: 0 auto 20px;
    font-size:16px;
}
.staff .magazineArea .boxArea .box h2 span{
    width:100%;
    padding-bottom: 5px;
    display: block;
    background: url("../images/staff/bg_h3.png") no-repeat center bottom;
    margin:0 auto 5px;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: bold;
    font-size:14px;
}
.staff .magazineArea .boxArea .box .thumb{
    width:100%;
    height:auto;
    padding-top: 75%;
    position: relative;
}
.staff .magazineArea .boxArea .box .thumb::before{
    content: "";
    background: url("../images/staff/icon_crip.png") no-repeat center center;
    width:45px;
    height:45px;
    position: absolute;
    top:-12px;
    left:-12px;
    z-index: 10;
}
.staff .magazineArea .boxArea .box .thumb::after{
    content: "";
    background: url("../images/staff/icon_crip.png") no-repeat center center;
    width:45px;
    height:45px;
    position: absolute;
    bottom:-12px;
    right:-12px;
    z-index: 10;
}
.staff .magazineArea .boxArea .box .thumb img{
    width:100%;
    height:100%;
    object-fit: cover;
    position: absolute;
    top:0;
    left:0;
}
.staff .magazineArea .boxArea .box .message{
    margin-top: 30px;
    padding-top: 60px;
    background: url("../images/staff/txt_message.png") no-repeat center top;
}
.staff .magazineArea .boxArea .box .message p{
    font-size:14px;
    line-height: 1.8;
}
@media (max-width: 740px) {
.staff {
    width: 94%;
    margin: 0 auto 50px;
}
.staff .parentCategory,
.staff .parentCategory:has(> :nth-child(2):last-child),
.staff .parentCategory:has(> :nth-child(3):last-child){
    width:100%;
    gap:4%;
}
.staff .parentCategory li.parent{
    width:23%;
}
.staff .parentCategory li.parent a.parentLink{
    width:100%;
    padding-top: 80px;
    font-size:3vw;
    line-height: 1.5;
}
.staff .parentCategory li.parent a.parentLink::before{
    width:95%;
    height:75px;
}
.staff .parentCategory li.parent ul.child{
    display: none;
}
.staff .magazineArea h2 {
    margin: 30px auto;
}
.staff .magazineArea .boxArea{
    width:94%;
    column-gap: 20px;
    grid-row-gap: 20px;
}
.staff .magazineArea .boxArea .box h3{
    font-size:20px;
}
.staff .magazineArea .boxArea .box .message{
    margin-top: 20px;
    padding-top: 50px;
    background: url("../images/staff/txt_message.png") no-repeat center top;
}
.staff .magazineArea .boxArea .box .message p{
    line-height: 1.5;
}
}
@media (max-width: 500px) {
.staff .parentCategory {
    display: grid;
    gap:5px 15px;
    grid-template-columns: 1fr 1fr;
}
.staff .parentCategory li.parent {
    width: auto;
}
.staff .parentCategory li.parent a.parentLink {
    padding-top: 50px;
    font-size: 14px;
}
.staff .parentCategory:has(> :nth-child(3)) li.parent a.parentLink {
    font-size: 12px;
}
.staff .parentCategory li.parent a.parentLink::before {
    width: 50px;
    height: 41px;
}
.staff .magazineArea .boxArea{
    grid-template-columns: 1fr;
}
}

/*--------------------------------------
    contact
--------------------------------------*/

.contact h2.style002{
    font-size:32px;
    font-weight: bold;
    position: relative;
    padding-bottom: 5px;
    margin:60px auto 30px;
    text-align: center;
}
.contact h2.style002::after{
    content: "";
    width: 60px;
    height:3px;
    background: #AACC03;
    position: absolute;
    top:auto;
    left:0;
    right:0;
    bottom:0;
    margin: auto;
}
.contact .introArea{
    width:900px;
    margin: 0 auto 100px;
    position: relative;
}
.contact .introArea .heading{
    width:100%;
    padding: 35px 0 55px;
    text-align: center;
    position: relative;
    margin: 0 auto 50px;
    background: rgba(207,223,213,0.33);
}
.contact .introArea .heading span{
    position: absolute;
    top:0;
    right:100px;
    transform: translate(0,-50%);
}
.contact .introArea .heading h3{
    font-size:33px;
    font-weight: bold;
}
.contact .introArea .text{
    font-size:20px;
    line-height: 1.8;
    text-align: center;
}
.contact .introArea .img001{
    position: absolute;
    right:40px;
    bottom:-90px;
}
.contact .introArea .btn{
	width:450px;
	height:72px;
	margin: 0 auto;
	box-sizing: border-box;
	position: absolute;
    top:auto;
    left:0;
    right:0;
    bottom:-36px;
}
.contact .introArea .btn a{
	display: block;
	text-align: center;
	background: #97D791;
	line-height: 72px;
	font-size:23px;
    color:#000000;
	font-weight: 700;
	transition: 0.3s;
	cursor:pointer;
	-webkit-appearance: none;
	width:100%;
	height:100%;
	box-sizing: border-box;
	position: relative;
    border-radius: 36px;
    border: none;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.contact .introArea .btn a:hover{
	opacity: 0.5;
}
.contact .introArea .btn a:after{
	content: "";
    width:33px;
    height:16px;
    background: url("../images/contact/icon_next.png") no-repeat center center;
    background-size:contain;
	position: absolute;
	top:0;
	right:20px;
    bottom:0;
    margin: auto;
}
.contact .presentArea{
    margin:0 auto 140px;
}
.contact .presentArea .wrapper{
    width:1148px;
    height:1152px;
    margin:0 auto 30px;
    background: url("../images/contact/bg_present.png") no-repeat center center;
    position: relative;
    padding-top: 55px;
    box-sizing: border-box;
}
.contact .presentArea .wrapper::before{
    width:16px;
    height:57px;
    background: url("../images/contact/icon_arrow.png") no-repeat center center;
    content: "";
    position: absolute;
    top:-72px;
    left:0;
    right:0;
    bottom:auto;
    margin: auto;
}
.contact .presentArea .boxArea{
    width:1110px;
    margin: 0 auto;
    border-radius: 30px;
    background: rgba(146,214,171,0.2);
    padding:30px 30px 20px;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    gap:50px;
    justify-content: center;
    align-items: center;
}
.contact .presentArea .boxArea .box{
    max-width: 420px;
    width:100%;
    text-align: center;
}
.contact .presentArea .boxArea .box span{
    font-size:49px;
    font-family: "caflisch-script-pro", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    display: block;
    text-align: center;
    color:#92D6AB;
}
.contact .presentArea .boxArea .box h3{
    min-width:248px;
    height:34px;
    line-height: 34px;
    margin: 30px auto 20px;
    font-size:23px;
    font-weight: bold;
    position: relative;
    text-align: center;
    padding: 0 25px;
    box-sizing: border-box;
    display: inline-block;
}
.contact .presentArea .boxArea .box h3::before{
    width:10px;
    height:34px;
    margin: auto auto auto 0;
    content: "";
    position: absolute;
    top:0;
    left:0;
    bottom:0;
    background: url("../images/contact/icon_present_001.png") no-repeat center center;
}
.contact .presentArea .boxArea .box h3::after{
    width:10px;
    height:34px;
    margin: auto 0 auto auto;
    content: "";
    position: absolute;
    top:0;
    right:0;
    bottom:0;
    background: url("../images/contact/icon_present_002.png") no-repeat center center;
}
.contact .presentArea .boxArea .box .text{
    font-size:15px;
    line-height: 1.8;
}
.contact .presentArea .img002{
    width:403px;
    height:132px;
    position: absolute;
    top:auto;
    left:0;
    right:0;
    bottom:-10px;
    margin: auto;
}
.contact .presentArea .btn{
	width:450px;
	height:72px;
	margin: 20px auto 0;
	box-sizing: border-box;
}
.contact .presentArea .btn a{
	display: block;
	text-align: center;
	background: #97D791;
	line-height: 72px;
	font-size:23px;
    color:#000000;
	font-weight: 700;
	transition: 0.3s;
	cursor:pointer;
	-webkit-appearance: none;
	width:100%;
	height:100%;
	box-sizing: border-box;
	position: relative;
    border-radius: 36px;
    border: none;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.contact .presentArea .btn a:hover{
	opacity: 0.5;
}
.contact .presentArea .btn a:after{
	content: "";
    width:33px;
    height:16px;
    background: url("../images/contact/icon_next.png") no-repeat center center;
    background-size:contain;
	position: absolute;
	top:0;
	right:20px;
    bottom:0;
    margin: auto;
}
.contact #contact{
    width:800px;
    margin: 0 auto;
}
.contact #contact .lineArea{
    text-align: center;
    padding-bottom: 40px;
    border-bottom: 1px solid #000000;
    position: relative;
}
.contact #contact .lineArea span{
    position: relative;
    display: inline-block;
    margin-bottom: 20px;
}
.contact #contact .lineArea span::after{
    content: "";
    background: url("../images/contact/txt_line.png") no-repeat center center;
    width:107px;
    height:81px;
    position: absolute;
    top:-76px;
    right:-87px;
}
.contact #contact .lineArea h3{
    font-size:32px;
    font-weight: bold;
    color:#06C755;
    font-family: "dnp-shuei-mgothic-std", sans-serif;
    font-style: normal;
    margin-bottom: 20px;
}
.contact #contact .lineArea .text{
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.contact #contact .lineArea .btn{
    width:444px;
    height:66px;
    position:relative;
    border-radius: 33px;
    margin: 30px auto 0;
}
.contact #contact .lineArea .btn::before{
    content: "";
    width:21px;
    height:24px;
    background: url("../images/contact/img_line_002.png") no-repeat center center;
    position: absolute;
    top:-15px;
    left:-15px;
}
.contact #contact .lineArea .btn::after{
    content: "";
    width:53px;
    height:38px;
    background: url("../images/contact/img_line_003.png") no-repeat center center;
    position: absolute;
    bottom:5px;
    right:-68px;
}
.contact #contact .lineArea .btn a{
    display: block;
    text-align:center;
    line-height: 66px;
    font-weight: bold;
    font-size:30px;
    position: relative;
    border-radius: 33px;
    transition: 0.3s;
    font-family: "dnp-shuei-mgothic-std", sans-serif;
    font-weight: 400;
    font-style: normal;
    color:#FFFFFF;
    background: #FF8F89;
}
.contact #contact .lineArea .btn a:hover{
    opacity: 0.5;
}
.contact #contact .lineArea .btn a::after{
    width:33px;
    height:16px;
    content: "";
    background: url("../images/contact/icon_next_line.png") no-repeat center center;
    background-size:contain;
    position: absolute;
    top:50%;
    right:20px;
    transform: translate(0,-50%);
}
.contact #contact .lineArea .img001{
    width:48px;
    height:70px;
    position: absolute;
    right:100%;
    bottom:120px;
}
.contact #contact .telArea{
    margin-top: 40px;
    text-align: center;
    padding-bottom: 40px;
    border-bottom: 1px solid #000000;
}
.contact #contact .telArea h3{
    font-size:19px;
    font-weight: bold;
    font-family: "dnp-shuei-mgothic-std", sans-serif;
    font-style: normal;
}
.contact #contact .telArea .tel,
.contact #contact .telArea .tel a{
    font-size:43px;
    font-weight: bold;
    color:#4CA235;
}
.contact #contact .telArea .text{
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.contact #contact .formArea{
    margin-bottom: 40px;
}
.contact #contact .formArea h3{
    font-size:31px;
    color:#4CA235;
    font-family: "dnp-shuei-mgothic-std", sans-serif;
    font-style: normal;
    margin:40px auto 10px;
    text-align: center;
    font-weight: bold;
}
.contact #contact .formArea .comment{
    line-height: 48px;
    background: #EFEFEF;
    text-align: center;
    margin-bottom: 20px;
}
.contact #contact .formArea table{
	width:100%;
}
.contact #contact .formArea table tr th{
	width:250px;
	position: relative;
	vertical-align: top;
	text-align: left;
	padding:20px 72px 20px 0;
	font-size:17px;
	font-weight: 500;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    line-height: 38px;
}
.contact #contact .formArea table tr th span.required{
	width:52px;
    height:23px;
    background: url("../images/event/icon_required.png") no-repeat center center;
    display: inline-block;
    position: absolute;
    top:27px;
    right:15px;
}
.contact #contact .formArea table tr td{
	width:550px;
	padding:20px 5px 20px 0;
	line-height: 1.5;
	font-size:16px;
    font-weight: 500;
	word-break: break-all;
	overflow: hidden;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.contact #contact .formArea table tr th.column001,
.contact #contact .formArea table tr td.column001{
	display: block;
}
.contact #contact .formArea table tr th.column001{
	width:800px;
    box-sizing: border-box;
}
.contact #contact .formArea table tr td.column001{
    width:800px;
	padding-left: 270px;
    box-sizing: border-box;
}
.contact #contact .formArea table:nth-of-type(1) tr th,
.contact #contact .formArea table:nth-of-type(1) tr td{
    border-bottom: 1px solid #808080;
}
.contact #contact .formArea table:nth-of-type(2) tr th{
	padding:20px 72px 0px 0;
}
.contact #contact .formArea table:nth-of-type(2) tr td{
    padding:10px 5px 20px 270px;
    border-bottom: 1px solid #808080;
}
.contact #contact .formArea .mw_wp_form_confirm table tr th{
	padding:20px 0;
    line-height: 1.5;
}
.contact #contact .formArea table tr td input:focus,
.contact #contact .formArea table tr td textarea:focus{
	outline:none !important;
}
.contact #contact .formArea table tr td input[type="text"],
.contact #contact .formArea table tr td input[type="email"],
.contact #contact .formArea table tr td input[type="tel"]{
	box-sizing: border-box;
	background: #F2F2F2;
	line-height: 1.5;
	width:100%;
    height:38px;
    padding: 8px 15px;
	border-radius: 20px;
    border:none;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    vertical-align: middle;
}
.contact #contact .formArea table tr td .calendar{
    margin-top: 20px;
}
.contact #contact .formArea table tr td .calendar input{
    width:386px;
    margin-top: 20px;
}
.contact #contact .formArea table tr td .people li{
	display: inline-block;
    margin-right: 10px;
}
.contact #contact .formArea table tr td .people li input[type="text"]{
	width:100px;
    margin: 0 5px;
}
.contact #contact .formArea table tr td .address li{
    margin-bottom: 10px;
}
.contact #contact .formArea table tr td .address li input[type="text"]{
	width:206px;
    margin: 0 5px;
}
.contact #contact .formArea table tr td .address li span{
    display: inline-block;
    width:64px;
    vertical-align: middle;
}
.contact #contact .formArea table tr td select{
	box-sizing: border-box;
	background: #F2F2F2;
	line-height: 1.5;
	width:206px;
    height:38px;
    padding: 8px 15px;
	border-radius: 20px;
    border:none;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    margin-left: 5px;
}

.contact #contact .formArea table tr td textarea{
	width:100%;
	height:185px;
	padding:10px;
	box-sizing: border-box;
	background: #F2F2F2;
	line-height: 1.5;
    border:none;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.contact #contact .formArea table tr td input::placeholder,
.contact #contact .formArea table tr td textarea::placeholder{
	color:#999999;
}
.contact #contact .formArea table tr td .mwform-checkbox-field,
.contact #contact .formArea table tr td .mwform-checkbox-field label{
    vertical-align: middle;
    font-size:14px;
}
.contact #contact .formArea table tr td input[type="checkbox"]{
    width:24px;
    height:24px;
	background: #F2F2F2;
    border:1px solid #B3B3B3;
    vertical-align: middle;
}
td.grid .horizontal-item + .horizontal-item {
    margin-left: 0px !important;
}
.contact #contact .formArea table tr td.grid{
    display: grid;
    gap:10px;
    grid-template-columns: 1fr 1fr 1fr;
}
.contact #contact .formArea table tr td.grid .mwform-checkbox-field,
.contact #contact .formArea table tr td.grid .mwform-checkbox-field label{
    height: 38px;
    display: flex;
    align-items: center;
}
.contact #contact .formArea table tr td.grid span:nth-child(13){
    grid-column-start: 1;
    grid-column-end: 4;
}
.contact #contact .formArea table tr td.grid input[name="雑誌名"]{
    grid-column-start: 2;
    grid-column-end: 4;
}
.contact #contact .formArea table tr td.privacyinfo{
    vertical-align: middle;
}
.contact #contact .formArea table tr td.privacyinfo a{
    text-decoration: underline;
}
.contact #contact .formArea .privacytext{
    box-sizing: border-box;
    padding: 15px;
    background: #F2F2F2;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    margin: 20px 0 0;
    font-size:14px;
}
.contact #contact .formArea .button{
	width:350px;
	height:53px;
	margin:50px auto 0;
	text-align: center;
}
.contact #contact .formArea .mw_wp_form_confirm .button{
	width:740px;
}
.contact #contact .formArea .button .rightBox{
	width:350px;
	height:53px;
	margin: 0 auto;
	box-sizing: border-box;
	position: relative;
}
.contact #contact .formArea .button .rightBox input[name="submitConfirm"]{
	display: block;
	text-align: center;
	background: #97D791;
	line-height: 53px;
	font-size:23px;
    color:#000000;
	font-weight: 700;
	transition: 0.3s;
	cursor:pointer;
	-webkit-appearance: none;
	width:100%;
	height:100%;
	box-sizing: border-box;
	font-family: inherit;
	position: relative;
    border-radius: 27px;
    border: none;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.contact #contact .formArea .button .rightBox input[name="確認"]{
	display: block;
	text-align: center;
	background: #97D791;
	line-height: 53px;
	font-size:16px;
    color:#000000;
	font-weight: 700;
	transition: 0.3s;
	cursor:pointer;
	-webkit-appearance: none;
	width:100%;
	height:100%;
	box-sizing: border-box;
	font-family: inherit;
	position: relative;
    border-radius: 27px;
    border: none;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.contact #contact .formArea .button .rightBox:hover input[name="submitConfirm"],
.contact #contact .formArea .button .rightBox:hover input[name="確認"]{
	opacity: 0.5;
}
.contact #contact .formArea .button .rightBox:after{
	content: "";
    width:33px;
    height:16px;
    background: url("../images/contact/icon_next.png") no-repeat center center;
    background-size:contain;
	position: absolute;
	top:0;
	right:20px;
    bottom:0;
    margin: auto;
}
.contact #contact .formArea .mw_wp_form_input .button .leftBox{
	display: none;
}
.contact #contact .formArea .button .leftBox{
	width:350px;
	height:53px;
	margin: 0 auto;
	box-sizing: border-box;
	position: relative;
}
.contact #contact .formArea .button .leftBox input[name="submitBack"]{
	display: block;
	text-align: center;
	background: #CCCCCC;
	line-height: 53px;
	font-size:16px;
    color:#000000;
	font-weight: 700;
	transition: 0.3s;
	cursor:pointer;
	-webkit-appearance: none;
	width:100%;
	height:100%;
	box-sizing: border-box;
	font-family: inherit;
	position: relative;
    border-radius: 27px;
    border: none;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.contact #contact .formArea .button .leftBox:hover input[name="submitBack"]{
	opacity: 0.5;
}
.contact #contact .formArea .button .leftBox:after{
	content: "";
    width:33px;
    height:16px;
    background: url("../images/contact/icon_back.png") no-repeat center center;
    background-size:contain;
	position: absolute;
	top:0;
	left:20px;
    bottom:0;
    margin: auto;
}
@media (max-width: 740px) {
.contact h2.style002{
    font-size:24px;
    margin:30px auto 20px;
}
.contact h2.style002::after{
    width: 40px;
    height:2px;
}
.contact .introArea{
    width:94%;
    margin-bottom: 140px;
}
.contact .introArea .heading{
    padding: 30px 5% 30px 5%;
    box-sizing: border-box;
}
.contact .introArea .heading span{
    width:65px;
    height:65px;
    right:10px;
}
.contact .introArea .heading h3{
    font-size:16px;
}
.contact .introArea .text{
    font-size:14px;
    line-height: 1.6;
}
.contact .introArea .img001{
    display: none;
}
.contact .introArea .btn{
	width:90%;
	height:40px;
    bottom:-20px;
}
.contact .introArea .btn a{
	line-height:40px;
	font-size:16px;
    border-radius: 30px;
}
.contact .introArea .btn a:after {
    width: 17px;
    height: 8px;
    right: 10px;
}
.contact .presentArea{
    width:94%;
    margin:0 auto 50px;
    position: relative;
}
.contact .presentArea::before{
    width:90px;
    height:75px;
    content: "";
    background: url("../images/contact/icon_present_003.png") no-repeat center center;
    position: absolute;
    top:-50px;
    left:0;
    right:0;
    bottom:auto;
    margin: auto;
}
.contact .presentArea .wrapper{
    width:100%;
    height:auto;
    margin:0 auto 30px;
    background: none;
    padding-top: 0;
}
.contact .presentArea .wrapper::before {
    top: -112px;
}
.contact .presentArea .boxArea{
    width:94%;
    box-sizing: border-box;
    padding:30px 20px;
    grid-template-columns: 1fr;
    gap:40px;
}
.contact .presentArea .boxArea .box h3{
    min-width: 0px;
    font-size:18px;
}
.contact .presentArea .boxArea .box .text{
    font-size:14px;
    line-height: 1.6;
}

.contact .presentArea .img002{
    width:auto;
    max-width: 90%;
    height:auto;
    margin: 50px auto;
    text-align: center;
    position: static;
}
.contact .presentArea .btn{
	width:90%;
	height:40px;
}
.contact .presentArea .btn a{
	line-height:40px;
	font-size:16px;
    border-radius: 30px;
}
.contact .presentArea .btn a:after {
    width: 17px;
    height: 8px;
    right: 10px;
}
.contact #contact{
    width:94%;
}
.contact #contact .lineArea h3{
    font-size:21px;
}
.contact #contact .lineArea span::after {
    background-size: contain;
    width: 81px;
    height: 60px;
    top: -30px;
    right: -91px;
}
.contact #contact .lineArea .btn{
    width:222px;
    height:33px;
    border-radius: 20px;
}
.contact #contact .lineArea .btn::before,
.contact #contact .lineArea .btn::after{
    display: none;
}
.contact #contact .lineArea .btn a{
    line-height: 33px;
    font-size:15px;
    border-radius: 17px;
}
.contact #contact .lineArea .btn a::after{
    width:17px;
    height:8px;
    right:10px;
}
.contact #contact .lineArea .img001{
    display: none;
}
.contact #contact .telArea h3{
    font-size:16px;
}
.contact #contact .telArea .tel,
.contact #contact .telArea .tel a{
    font-size:24px;
}
.contact #contact .formArea{
    margin-bottom: 40px;
}
.contact #contact .formArea h3{
    font-size:24px;
}
.contact #contact .formArea .comment {
    box-sizing: border-box;
    padding: 10px 15px;
    line-height: 1.5;
}
.contact #contact .formArea table,
.contact #contact .formArea table tbody,
.contact #contact .formArea table tbody tr,
.contact #contact .formArea table tbody tr th,
.contact #contact .formArea table tbody tr td{
    display: block;
}
.contact #contact .formArea table tr th{
	width:100%;
    border-bottom: none;
    padding: 10px 55px 10px 0;
}
.contact #contact .formArea table tr th span.required {
    top: 17px;
    right: 0;
}
.contact #contact .formArea table tr td{
	width:100%;
	padding:5px 5px 20px 0;
}
.contact #contact .formArea table tr th.column001,
.contact #contact .formArea table tr td.column001{
	display: block;
}
.contact #contact .formArea table tr th.column001{
	width:100%;
}
.contact #contact .formArea table tr td.column001{
    width:100%;
	padding-left: 0;
}
.contact #contact .formArea table:nth-of-type(1) tr th{
    border-bottom: none;
}
.contact #contact .formArea table:nth-of-type(2) tr td{
    padding:0 5px 20px 0;
}
.contact #contact .formArea table tr td .calendar input{
    width:auto;
}
.contact #contact .formArea table tr td .people li{
	display: block;
    margin-right: 0px;
    margin-bottom: 10px;
}
.contact #contact .formArea table tr td .address li input[type="text"]{
	width:180px;
}
.contact #contact .formArea table tr td .address li span{
    display: block;
    width:100%;
    margin-bottom: 5px;
}
.contact #contact .formArea .button{
	width:100%;
}
.contact #contact .formArea .mw_wp_form_confirm .button{
	width:100%;
}
.contact #contact .formArea .button .rightBox{
	width:100%;
}
.contact #contact .formArea .button .leftBox{
	width:100%;
	margin-top: 10px;
}
.contact #contact .btn001{
    width:100%;
    margin:0 30px auto 0;
}
.contact #contact .formArea .button .rightBox:after {
    width: 17px;
    height: 8px;
    right: 10px;
}
.contact #contact .formArea .button .leftBox:after{
    width:17px;
    height:8px;
	left:10px;
}
.contact #contact .formArea .button .rightBox input[name="submitConfirm"] {
    font-size: 14px;
}
}

/*--------------------------------------
    reserve
--------------------------------------*/

.reserve h2.style002{
    font-size:32px;
    font-weight: bold;
    position: relative;
    padding-bottom: 5px;
    margin:60px auto 30px;
    text-align: center;
}
.reserve h2.style002::after{
    content: "";
    width: 60px;
    height:3px;
    background: #AACC03;
    position: absolute;
    top:auto;
    left:0;
    right:0;
    bottom:0;
    margin: auto;
}
.reserve .introArea{
    width:1085px;
    margin: 0 auto 110px auto;
    position: relative;
}
.reserve .introArea h3{
    font-size:28px;
    text-align: center;
    margin-bottom: 30px;
}
.reserve .introArea .pic{
    margin-bottom: 30px;
}
.reserve .introArea .text{
    font-size:20px;
    line-height: 1.8;
    text-align: center;
    margin-bottom: 70px;
}
.reserve .introArea .telArea{
    width:370px;
    margin: 0 auto 40px auto;
    text-align: center;
}
.reserve .introArea .telArea h4{
    font-size:23px;
    height:44px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #c1e7bd;
    margin-bottom: 10px;
}
.reserve .introArea .telArea .tel,
.reserve .introArea .telArea .tel a {
    font-size: 37px;
    font-weight: bold;
    color: #4CA235;
    display: flex;
    justify-content: center;
    align-items: center;
}
.reserve .introArea .telArea .tel::before{
    content: "";
    background: url("../images/reserve/icon_tel.png") no-repeat center center / contain;
    width:39px;
    height:40px;
    margin-right: 20px;
}
.reserve .introArea .telArea .read{
    font-size:21px;
}
.reserve .introArea .btnArea{
    width: 388px;
    margin: 30px auto 0 auto;
}
.reserve .introArea .btnArea .btn{
    height:66px;
    border-radius: 33px;
}
.reserve .introArea .btnArea .btn a{
    display: flex;
    justify-content:center;
    align-items: center;
    width:100%;
    height: 100%;
    position: relative;
    border-radius: 33px;
    transition: 0.3s;
    background: #FFC4C1;
}
.reserve .introArea .btnArea .btn a span{
    font-weight: bold;
    font-size:18px;
    line-height: 39px;
    width:100%;
    text-align: center;
    background: url("../images/event/icon_btn_002.png") no-repeat 25px center/contain;
}
.reserve .introArea .btnArea .btn a:hover{
    opacity: 0.5;
}
.reserve .introArea .btnArea .btn a::after{
    width:33px;
    height:16px;
    content: "";
    background: url("../images/event/icon_next.png") no-repeat center center;
    background-size:contain;
    position: absolute;
    top:50%;
    right:20px;
    transform: translate(0,-50%);
}
.reserve .introArea .img001{
    position: absolute;
    left:30px;
    bottom:280px;
}
.reserve .meritArea{
    width:1100px;
    padding: 50px 40px;
    box-sizing: border-box;
    background: #f4f1ed;
    margin: 0 auto 100px auto;
    border-radius: 20px;
}
.reserve .meritArea h3{
    font-size:26px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-bottom: 30px;
}
.reserve .meritArea h3 span{
    font-size:28px;
    display: inline-block;
    margin-bottom: 10px;
    line-height: 1;
    position: relative;
}
.reserve .meritArea h3 span::before{
    content: "";
    width:38px;
    height:3px;
    background: url("../images/reserve/icon_h3_001.png") no-repeat center center / contain;
    position: absolute;
    top:50%;
    right:calc(100% + 20px);
    transform: translate(0,-50%);
}
.reserve .meritArea h3 span::after{
    content: "";
    width:38px;
    height:3px;
    background: url("../images/reserve/icon_h3_002.png") no-repeat center center / contain;
    position: absolute;
    top:50%;
    left:calc(100% + 20px);
    transform: translate(0,-50%);
}
.reserve .meritArea .boxArea{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap:42px;
}
.reserve .meritArea .boxArea .box{
    position: relative;
}
.reserve .meritArea .boxArea .box:not(:last-child)::after{
    content: "";
    background: url("../images/reserve/bg_line.png") repeat-y center center / contain;
    width:4px;
    height:calc(100% - 20px);
    margin: auto;
    position: absolute;
    top:0;
    left:calc(100% + 19px);
    bottom:0;
}
.reserve .meritArea .boxArea .pic{
    margin-bottom: 20px;
}
.reserve .meritArea .boxArea .merit{
    text-align: center;
    margin-bottom: 25px;
}
.reserve .meritArea .boxArea .merit img{
    width:126px;
    height:auto;
}
.reserve .meritArea .boxArea h4{
    font-size:19px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
}
.reserve .meritArea .boxArea .text{
    line-height: 1.6;
}
.reserve .btnsection .btnArea{
    width: 388px;
    margin: 0 auto 100px auto;
}
.reserve .btnsection .btnArea .btn{
    height:66px;
    border-radius: 33px;
}
.reserve .btnsection .btnArea .btn a{
    display: flex;
    justify-content:center;
    align-items: center;
    width:100%;
    height: 100%;
    position: relative;
    border-radius: 33px;
    transition: 0.3s;
    background: #FFC4C1;
}
.reserve .btnsection .btnArea .btn a span{
    font-weight: bold;
    font-size:18px;
    line-height: 39px;
    width:100%;
    text-align: center;
    background: url("../images/event/icon_btn_002.png") no-repeat 25px center/contain;
}
.reserve .btnsection .btnArea .btn a:hover{
    opacity: 0.5;
}
.reserve .btnsection .btnArea .btn a::after{
    width:33px;
    height:16px;
    content: "";
    background: url("../images/event/icon_next.png") no-repeat center center;
    background-size:contain;
    position: absolute;
    top:50%;
    right:20px;
    transform: translate(0,-50%);
}
.reserve .locationArea{
    width:1040px;
    margin: 0 auto 140px auto;
}
.reserve .locationArea h3{
    font-size:18px;
    text-align: center;
    margin-bottom: 30px;
}
.reserve .locationArea h3 span{
    font-size:27px;
    display: block;
    padding-bottom: 10px;
    margin-bottom: 10px;
    position: relative;
}
.reserve .locationArea h3 span::after{
    content: "";
    width:204px;
    height:1px;
    background: #00aca8;
    position: absolute;
    top:auto;
    left:0;
    right:0;
    bottom:0;
    margin: auto;
}
.reserve .locationArea .boxArea{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap:52px;
    margin: 0 auto 110px auto;
}
.reserve .locationArea .boxArea .pic{
    margin-bottom: 20px;
}
.reserve .locationArea .boxArea h4{
    font-size:23px;
    text-align: center;
    margin-bottom: 10px;
}
.reserve .locationArea .boxArea .link{
    display: flex;
    justify-content: center;
}
.reserve .locationArea .boxArea .link a{
    display: inline-flex;
    gap:10px;
}
.reserve .locationArea .boxArea .link a::before{
    content: "▶";
    color:#00aca8;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size:12px;
}
.reserve .locationArea .boxArea .text{
    text-align: center;
}
.reserve .locationArea .bnr{
    width:750px;
    height:213px;
    text-align: center;
    margin: 0 auto;
}
.reserve .locationArea .bnr a{
    display: block;
    width:100%;
    height:100%;
}
.reserve .locationArea .bnr a img{
    object-fit: cover;
    width:100%;
    height:100%;
}
.reserve #contact{
    width:800px;
    margin: 0 auto;
}
.reserve #contact .lineArea{
    text-align: center;
    padding-bottom: 40px;
    border-bottom: 1px solid #000000;
    position: relative;
}
.reserve #contact .lineArea span{
    position: relative;
    display: inline-block;
    margin-bottom: 20px;
}
.reserve #contact .lineArea span::after{
    content: "";
    background: url("../images/event/txt_line.png") no-repeat center center;
    width:107px;
    height:81px;
    position: absolute;
    top:-76px;
    right:-87px;
}
.reserve #contact .lineArea h3{
    font-size:32px;
    font-weight: bold;
    color:#06C755;
    font-family: "dnp-shuei-mgothic-std", sans-serif;
    font-style: normal;
    margin-bottom: 20px;
}
.reserve #contact .lineArea .text{
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.reserve #contact .lineArea .btn{
    width:444px;
    height:66px;
    position:relative;
    border-radius: 33px;
    margin: 30px auto 0;
}
.reserve #contact .lineArea .btn::before{
    content: "";
    width:21px;
    height:24px;
    background: url("../images/event/img_line_002.png") no-repeat center center;
    position: absolute;
    top:-15px;
    left:-15px;
}
.reserve #contact .lineArea .btn::after{
    content: "";
    width:53px;
    height:38px;
    background: url("../images/event/img_line_003.png") no-repeat center center;
    position: absolute;
    bottom:5px;
    right:-68px;
}
.reserve #contact .lineArea .btn a{
    display: block;
    text-align:center;
    line-height: 66px;
    font-weight: bold;
    font-size:30px;
    position: relative;
    border-radius: 33px;
    transition: 0.3s;
    font-family: "dnp-shuei-mgothic-std", sans-serif;
    font-style: normal;
    color:#FFFFFF;
    background: #FF8F89;
}
.reserve #contact .lineArea .btn a:hover{
    opacity: 0.5;
}
.reserve #contact .lineArea .btn a::after{
    width:33px;
    height:16px;
    content: "";
    background: url("../images/event/icon_next_line.png") no-repeat center center;
    background-size:contain;
    position: absolute;
    top:50%;
    right:20px;
    transform: translate(0,-50%);
}
.reserve #contact .lineArea .img001{
    width:48px;
    height:70px;
    position: absolute;
    right:100%;
    bottom:120px;
}
.reserve #contact .telArea{
    margin-top: 40px;
    text-align: center;
    padding-bottom: 40px;
    border-bottom: 1px solid #000000;
}
.reserve #contact .telArea h3{
    font-size:19px;
    font-weight: bold;
    font-family: "dnp-shuei-mgothic-std", sans-serif;
    font-style: normal;
}
.reserve #contact .telArea .tel,
.reserve #contact .telArea .tel a{
    font-size:43px;
    font-weight: bold;
    color:#4CA235;
}
.reserve #contact .telArea .text{
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.reserve #contact .formArea{
    margin-bottom: 40px;
}
.reserve #contact .formArea h3{
    font-size:31px;
    color:#4CA235;
    font-family: "dnp-shuei-mgothic-std", sans-serif;
    font-style: normal;
    margin:40px auto 10px;
    text-align: center;
    font-weight: bold;
}
.reserve #contact .formArea .comment{
    line-height: 48px;
    background: #EFEFEF;
    text-align: center;
    margin-bottom: 20px;
}
.reserve #contact .formArea table{
	width:100%;
}
.reserve #contact .formArea table tr th{
	width:250px;
	position: relative;
	vertical-align: top;
	text-align: left;
	padding:20px 72px 20px 0;
	font-size:17px;
	font-weight: 500;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    line-height: 38px;
}
.reserve #contact .formArea table tr th span.required{
	width:52px;
    height:23px;
    background: url("../images/event/icon_required.png") no-repeat center center;
    display: inline-block;
    position: absolute;
    top:27px;
    right:15px;
}
.reserve #contact .formArea table tr td{
	width:550px;
	padding:20px 5px 20px 0;
	line-height: 1.5;

	font-size:16px;
    font-weight: 500;
	word-break: break-all;
	overflow: hidden;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.reserve #contact .formArea table:nth-of-type(1) tr th,
.reserve #contact .formArea table:nth-of-type(1) tr td{
    border-bottom: 1px solid #808080;
}
.reserve #contact .formArea table:nth-of-type(2) tr th{
	padding:20px 72px 20px 0;
}
.reserve #contact .formArea table:nth-of-type(2) tr td{
    padding:0 5px 20px 270px;
    border-bottom: 1px solid #808080;
}
.reserve #contact .formArea .mw_wp_form_confirm table tr th{
	padding:20px 0;
    line-height: 1.5;
}
.reserve #contact .formArea table tr th.column001,
.reserve #contact .formArea table tr td.column001{
	display: block;
}
.reserve #contact .formArea table tr th.column001{
	width:800px;
    box-sizing: border-box;
}
.reserve #contact .formArea table tr td.column001{
    width:800px;
	padding-left: 270px;
    box-sizing: border-box;
}
.reserve #contact .formArea table tr td input:focus,
.reserve #contact .formArea table tr td textarea:focus{
	outline:none !important;
}
.reserve #contact .formArea table tr td input[type="text"],
.reserve #contact .formArea table tr td input[type="email"],
.reserve #contact .formArea table tr td input[type="tel"]{
	box-sizing: border-box;
	background: #F2F2F2;
	line-height: 1.5;
	width:100%;
    height:38px;
    padding: 8px 15px;
	border-radius: 20px;
    border:none;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    vertical-align: middle;
}
.reserve #contact .formArea table tr td strong{
    margin-top: 20px;
    display: block;
}
.reserve #contact .formArea table tr td .calendar{
    margin-top: 20px;
}
.reserve #contact .formArea table tr td .calendar input{
    width:386px;
    margin-top: 20px;
}
.reserve #contact .formArea table tr td .people li{
	display: inline-block;
    margin-right: 10px;
}
.reserve #contact .formArea table tr td .people li input[type="text"]{
	width:100px;
    margin: 0 5px;
}
.reserve #contact .formArea table tr td .address li{
    margin-bottom: 10px;
}
.reserve #contact .formArea table tr td .address li input[type="text"]{
	width:206px;
    margin: 0 5px;
}
.reserve #contact .formArea table tr td .address li span{
    display: inline-block;
    width:64px;
    vertical-align: middle;
}
.reserve #contact .formArea table tr td select{
	box-sizing: border-box;
	background: #F2F2F2;
	line-height: 1.5;
    height:38px;
    padding: 8px 15px;
	border-radius: 20px;
    border:none;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    margin-left: 5px;
}

.reserve #contact .formArea table tr td textarea{
	width:100%;
	height:185px;
	padding:10px;
	box-sizing: border-box;
	background: #F2F2F2;
	line-height: 1.5;
    border:none;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.reserve #contact .formArea table tr td input::placeholder,
.reserve #contact .formArea table tr td textarea::placeholder{
	color:#999999;
}
.reserve #contact .formArea table tr td .mwform-checkbox-field,
.reserve #contact .formArea table tr td .mwform-checkbox-field label{
    vertical-align: middle;
    font-size:14px;
}
.reserve #contact .formArea table tr td input[type="checkbox"]{
    width:24px;
    height:24px;
	background: #F2F2F2;
    border:1px solid #B3B3B3;
    vertical-align: middle;
}
td.grid .horizontal-item + .horizontal-item {
    margin-left: 0px !important;
}
.reserve #contact .formArea table tr td.grid{
    display: grid;
    gap:10px;
    grid-template-columns: 1fr 1fr 1fr;
}
.reserve #contact .formArea table tr td.grid .mwform-checkbox-field,
.reserve #contact .formArea table tr td.grid .mwform-checkbox-field label{
    height: 38px;
    display: flex;
    align-items: center;
}
.reserve #contact .formArea table tr td.grid span:nth-child(13){
    grid-column-start: 1;
    grid-column-end: 4;
}
.reserve #contact .formArea table tr td.grid input[name="雑誌名"]{
    grid-column-start: 2;
    grid-column-end: 4;
}
.reserve #contact .formArea table tr td.privacyinfo{
    vertical-align: middle;
}
.reserve #contact .formArea table tr td.privacyinfo a{
    text-decoration: underline;
}
.reserve #contact .formArea table tr td.column002 span.mwform-checkbox-field.horizontal-item{
    display: inline-block;
    width:46%;
    margin-top: 5px;
    margin-left: 0;
    margin-right: 2%;
    margin-bottom: 5px;
}
.reserve #contact .formArea .privacytext{
    box-sizing: border-box;
    padding: 15px;
    background: #F2F2F2;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    margin: 20px 0 0;
    font-size:14px;
}
.reserve #contact .formArea .button{
	width:350px;
	height:53px;
	margin:50px auto 0;
	text-align: center;
}
.reserve #contact .formArea .mw_wp_form_confirm .button{
	width:740px;
}
.reserve #contact .formArea .button .rightBox{
	width:350px;
	height:53px;
	margin: 0 auto;
	box-sizing: border-box;
	position: relative;
}
.reserve #contact .formArea .button .rightBox input[name="submitConfirm"]{
	display: block;
	text-align: center;
	background: #97D791;
	line-height: 53px;
	font-size:23px;
    color:#000000;
	font-weight: 700;
	transition: 0.3s;
	cursor:pointer;
	-webkit-appearance: none;
	width:100%;
	height:100%;
	box-sizing: border-box;
	font-family: inherit;
	position: relative;
    border-radius: 27px;
    border: none;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.reserve #contact .formArea .button .rightBox input[name="確認"]{
	display: block;
	text-align: center;
	background: #97D791;
	line-height: 53px;
	font-size:16px;
    color:#000000;
	font-weight: 700;
	transition: 0.3s;
	cursor:pointer;
	-webkit-appearance: none;
	width:100%;
	height:100%;
	box-sizing: border-box;
	font-family: inherit;
	position: relative;
    border-radius: 27px;
    border: none;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.reserve #contact .formArea .button .rightBox:hover input[name="submitConfirm"],
.reserve #contact .formArea .button .rightBox:hover input[name="確認"]{
	opacity: 0.5;
}
.reserve #contact .formArea .button .rightBox:after{
	content: "";
    width:33px;
    height:16px;
    background: url("../images/event/icon_next.png") no-repeat center center;
    background-size:contain;
	position: absolute;
	top:0;
	right:20px;
    bottom:0;
    margin: auto;
}
.reserve #contact .formArea .mw_wp_form_input .button .leftBox{
	display: none;
}
.reserve #contact .formArea .button .leftBox{
	width:350px;
	height:53px;
	margin: 0 auto;
	box-sizing: border-box;
	position: relative;
}
.reserve #contact .formArea .button .leftBox input[name="submitBack"]{
	display: block;
	text-align: center;
	background: #CCCCCC;
	line-height: 53px;
	font-size:16px;
    color:#000000;
	font-weight: 700;
	transition: 0.3s;
	cursor:pointer;
	-webkit-appearance: none;
	width:100%;
	height:100%;
	box-sizing: border-box;
	font-family: inherit;
	position: relative;
    border-radius: 27px;
    border: none;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.reserve #contact .formArea .button .leftBox:hover input[name="submitBack"]{
	opacity: 0.5;
}
.reserve #contact .formArea .button .leftBox:after{
	content: "";
    width:33px;
    height:16px;
    background: url("../images/event/icon_back.png") no-repeat center center;
    background-size:contain;
	position: absolute;
	top:0;
	left:20px;
    bottom:0;
    margin: auto;
}
.reserve #contact .btn001{
    width:333px;
    height:55px;
    margin: 50px auto 0;
    text-align: center;
}
.reserve #contact .btn001 a{
    width:100%;
    height:100%;
    box-sizing: border-box;
    border:1px solid #000000;
    background: #FFFFFF;
    line-height: 53px;
    text-align: center;
    padding:0;
    position: relative;
    display: inline-block;
    font-weight: bold;
}
.reserve #contact .btn001 a::before{
    content: "";
    width:100%;
    height:100%;
    border:1px solid #000000;
    background: #FFFFFF;
    position: absolute;
    top:3px;
    left:3px;
    z-index: -999;
}
.reserve #contact .btn001 a::after{
    content: "";
    width:50px;
    height:19px;
    background: url("../images/event/icon_back.png") no-repeat center center;
    position: absolute;
    top:0px;
    left:15px;
    right:auto;
    bottom:0;
    margin: auto;
    z-index: 10;
}
.reserve #contact .btn001 a:hover{
    transform: translate(4px ,4px);
}
.reserve #contact .btn001 a:hover::before{
    top:-1px;
    left:-1px;
}
.reserve #contact .btn001 a span{
    display: inline-block;
    font-size:17px;
    line-height: 53px;
    font-weight: bold;
}
@media (max-width: 740px) {
.reserve h2.style002{
    font-size:24px;
    margin:30px auto 20px;
}
.reserve h2.style002::after{
    width: 40px;
    height:2px;
}
.reserve .introArea{
    width:94%;
    margin-bottom: 50px;
}
.reserve .introArea h3{
    font-size:20px;
    margin-bottom: 20px;
}
.reserve .introArea .text{
    font-size:14px;
    line-height: 1.5;
    margin-bottom: 40px;
}
.reserve .introArea .telArea{
    width:100%;
}
.reserve .introArea .telArea h4{
    font-size:20px;
    height:36px;
    width:50%;
    margin: 0 auto 20px;
}
.reserve .introArea .telArea .tel,
.reserve .introArea .telArea .tel a {
    font-size: 24px;
}
.reserve .introArea .telArea .tel::before {
    width: 19.5px;
    height: 20px;
    margin-right: 10px;
}
.reserve .introArea .telArea .read{
    font-size:16px;
}
.reserve .introArea .btnArea{
    width:80%;
    /*gap:10px;*/
    margin: 20px auto 0;
    /*display: grid !important;*/
}
.reserve .introArea .btnArea .btn{
    height:46px;
}
.reserve .introArea .btnArea .btn a{
    border-radius:25px;
    text-align: left;
}
.reserve .introArea .btnArea .btn a span{
    padding-left: 54px;
    width:auto;
    font-size:14px;
    background: url("../images/event/icon_btn_002.png") no-repeat left center/contain;
}
.reserve .introArea .btnArea .btn a::after{
    width: 4px;
    height: 4px;
    background: none;
    border: 1px solid;
    border-color: transparent #000000 #000000 transparent;
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translate(0,-50%) rotate(-45deg);
}
.reserve .introArea .img001{
    width:50px;
    top:calc(100% + 25px);
    left:10px;
    bottom:auto;
}
.reserve .meritArea{
    width:100%;
    padding: 40px 20px;
    margin: 0 auto 50px auto;
    border-radius: 0px;
}
.reserve .meritArea h3{
    font-size:16px;
}
.reserve .meritArea h3 span{
    font-size:20px;
}
.reserve .meritArea .boxArea{
    width:90%;
    grid-template-columns: 1fr;
    gap:16vw;
    margin: 0 auto;
}    
.reserve .meritArea .boxArea .box{
    width:100%;
}
.reserve .meritArea .boxArea .box:not(:last-child)::after{
    content: "";
    background: url("../images/reserve/bg_line_sp.png") repeat-x center center / contain;
    width:calc(100% - 20px);
    height:4px;
    margin: auto;
    position: absolute;
    top:calc(100% + 8vw);
    left:0;
    right:0;
    bottom:auto;
    transform: translate(0,-50%);
}
.reserve .meritArea .boxArea .pic{
    margin-bottom: 15px;
    text-align: center;
}
.reserve .meritArea .boxArea .merit{
    margin-bottom: 15px;
}
.reserve .meritArea .boxArea h4{
    font-size:18px;
}
.reserve .meritArea .boxArea .text{
    line-height: 1.5;
}
.reserve .btnsection .btnArea{
    width:80%;
    /*gap:10px;*/
    margin: 40px auto 40px;
    /*display: grid !important;*/
}
.reserve .btnsection .btnArea .btn{
    height:46px;
}
.reserve .btnsection .btnArea .btn a{
    border-radius:25px;
    text-align: left;
}
.reserve .btnsection .btnArea .btn a span{
    padding-left: 54px;
    width:auto;
    font-size:14px;
    background: url("../images/event/icon_btn_002.png") no-repeat left center/contain;
}
.reserve .btnsection .btnArea .btn a::after{
    width: 4px;
    height: 4px;
    background: none;
    border: 1px solid;
    border-color: transparent #000000 #000000 transparent;
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translate(0,-50%) rotate(-45deg);
}
.reserve .locationArea{
    width:calc(100% - 20px);
    margin: 0 auto 50px auto;
}
.reserve .locationArea h3{
    font-size:16px;
}
.reserve .locationArea h3 span{
    font-size:20px;
    padding-bottom: 5px;
    margin-bottom: 5px;
}
.reserve .locationArea h3 span::after{
    width:180px;
}
.reserve .locationArea .boxArea{
    width:90%;
    grid-template-columns: 1fr;
    gap:5vw;
    margin: 0 auto 40px auto;
}
.reserve .locationArea .boxArea .box{
    width:100%
}
.reserve .locationArea .boxArea .pic{
    margin-bottom: 15px;
    text-align: center;
}
.reserve .locationArea .boxArea h4{
    font-size:18px;
}
.reserve .locationArea .bnr{
    width:100%;
    height:auto;
    aspect-ratio:250 / 71;
}
.reserve #contact{
    width:94%;
}
.reserve #contact .lineArea h3{
    font-size:21px;
}
.reserve #contact .lineArea span::after {
    background-size: contain;
    width: 81px;
    height: 60px;
    top: -30px;
    right: -91px;
}
.reserve #contact .lineArea .btn{
    width:222px;
    height:33px;
    border-radius: 20px;
}
.reserve #contact .lineArea .btn::before,
.reserve #contact .lineArea .btn::after{
    display: none;
}
.reserve #contact .lineArea .btn a{
    line-height: 33px;
    font-size:15px;
    border-radius: 17px;
}
.reserve #contact .lineArea .btn a::after{
    width:17px;
    height:8px;
    right:10px;
}
.reserve #contact .lineArea .img001{
    display: none;
}
.reserve #contact .telArea h3{
    font-size:16px;
}
.reserve #contact .telArea .tel,
.reserve #contact .telArea .tel a{
    font-size:24px;
}
.reserve #contact .formArea{
    margin-bottom: 40px;
}
.reserve #contact .formArea h3{
    font-size:24px;
}
.reserve #contact .formArea .comment {
    box-sizing: border-box;
    padding: 10px 15px;
    line-height: 1.5;
}
.reserve #contact .formArea table,
.reserve #contact .formArea table tbody,
.reserve #contact .formArea table tbody tr,
.reserve #contact .formArea table tbody tr th,
.reserve #contact .formArea table tbody tr td{
    display: block;
}
.reserve #contact .formArea table tr th{
	width:100%;
    border-bottom: none;
    padding: 10px 55px 10px 0;
}
.reserve #contact .formArea table tr th span.required {
    top: 17px;
    right: 0;
}
.reserve #contact .formArea table tr td{
	width:100%;
	padding:5px 5px 20px 0;
}
.reserve #contact .formArea table:nth-of-type(1) tr th{
    border-bottom: none;
}
.reserve #contact .formArea table:nth-of-type(2) tr td{
    padding:0 5px 20px 0;
}
.reserve #contact .formArea table tr th.column001,
.reserve #contact .formArea table tr td.column001{
	display: block;
}
.reserve #contact .formArea table tr th.column001{
	width:100%;
}
.reserve #contact .formArea table tr td.column001{
    width:100%;
	padding-left: 0;
}
.reserve #contact .formArea table tr td .calendar{
    font-size:min(3.4666vw,14px);
}
.reserve #contact .formArea table tr td .calendar input{
    width:auto;
    font-size:16px;
}
.reserve #contact .formArea table tr td .people li{
	display: block;
    margin-right: 0px;
    margin-bottom: 10px;
}
.reserve #contact .formArea table tr td .address li input[type="text"]{
	width:180px;
}
.reserve #contact .formArea table tr td .address li span{
    display: block;
    width:100%;
    margin-bottom: 5px;
}
.reserve #contact .formArea table tr td.column002 span.mwform-checkbox-field.horizontal-item{
    width:96%;
}
.reserve #contact .formArea .button{
	width:100%;
}
.reserve #contact .formArea .button .rightBox:after {
    width: 17px;
    height: 8px;
    right: 10px;
}
.reserve #contact .formArea .button .leftBox:after{
    width:17px;
    height:8px;
	left:10px;
}
.reserve #contact .formArea .button .rightBox input[name="submitConfirm"] {
    font-size: 14px;
}
.reserve #contact .formArea .mw_wp_form_confirm .button{
	width:100%;
}
.reserve #contact .formArea .button .rightBox{
	width:100%;
}
.reserve #contact .formArea .button .leftBox{
	width:100%;
	margin-top: 10px;
}
.reserve #contact .btn001{
    width:100%;
    margin: 30px auto 0;
}
}

/*--------------------------------------
    notfound
--------------------------------------*/

.notfound h2.style002{
    font-size:32px;
    font-weight: bold;
    position: relative;
    padding-bottom: 5px;
    margin:60px auto 30px;
    text-align: center;
}
.notfound h2.style002::after{
    content: "";
    width: 60px;
    height:3px;
    background: #AACC03;
    position: absolute;
    top:auto;
    left:0;
    right:0;
    bottom:0;
    margin: auto;
}
.notfound .introArea{
    width:900px;
    margin: 0 auto 100px;
    position: relative;
}
.notfound .introArea .btn{
	width:450px;
	height:72px;
	margin: 50px auto;
	box-sizing: border-box;
}
.notfound .introArea .btn a{
	display: block;
	text-align: center;
	background: #97D791;
	line-height: 72px;
	font-size:23px;
    color:#000000;
	font-weight: 700;
	transition: 0.3s;
	cursor:pointer;
	-webkit-appearance: none;
	width:100%;
	height:100%;
	box-sizing: border-box;
	position: relative;
    border-radius: 36px;
    border: none;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.notfound .introArea .btn a:hover{
	opacity: 0.5;
}
.notfound .introArea .btn a:after{
	content: "";
    width:33px;
    height:16px;
    background: url("../images/contact/icon_next.png") no-repeat center center;
    background-size:contain;
	position: absolute;
	top:0;
	right:20px;
    bottom:0;
    margin: auto;
}
@media (max-width: 740px) {
.notfound h2.style002{
    font-size:24px;
    margin:30px auto 20px;
}
.notfound h2.style002::after{
    width: 40px;
    height:2px;
}
.notfound .introArea{
    width:94%;
    margin-bottom: 140px;
}
.notfound .introArea .btn{
	width:90%;
	height:60px;
    bottom:-30px;
}
.notfound .introArea .btn a{
	line-height:60px;
	font-size:20px;
    border-radius: 30px;
}
}