main{
    width:780px;
    margin:auto;
}
.n-space{margin:0 50px;}
.blue_back{background: #e2f3f3;}

.card-area{background:#fefefe;}
.card2-1{
    width:100%;
    margin: 0 0px 10px;
}
.card2-2{
    width:680px;
    margin: 0 0px 20px;
}
.card2-t-1{
    font-weight: bold;
    text-align: center;
    font-size: 16px;
    margin: 0 0 24px;
}


#sec00 p{
    background: #000;
    color: #fff;
    text-align: center;
    padding: 8px 0;
    font-weight: bold;
}
#sec00 img{width:100%;}


#sec01{padding: 60px 0 40px;}
.sec01m-1{
    width:680px;
    margin: 0 0px 20px;
}
#sec01t-1{
    font-weight: bold;
    text-align: center;
    font-size: 16px;
    margin: 0 0 24px;
}

#sec02{margin: 60px 0;}
#sec02 ul{
    display: flex;
    gap: 8px;
    margin-bottom: 40px;
}
#sec02 li{
    border: 2px solid #dedede;
    width: 33.333%;
    text-align: center;
    color: #4ca5a8;
    font-size: 16px;
    font-weight: bold;
    padding: 16px 0;
    border-radius: 14px;
}
#sec02t-1{
    text-align: center;
    background: #6cadb2;
    color: #fff;
    font-size: 22px;
    font-weight: bold;
    width: 40%;
    margin: auto;
    padding: 6px 0;
}
#sec02t-2{
    background: #009342;
    color: #fff;
    font-weight: bold;
    text-align: center;
    font-size: 28px;
    padding: 8px 0;
    margin: 0px 0px 30px;
}
#sec02t-3{
    text-align: center;
    font-weight: 900;
    font-size: 40px;
    margin-bottom: 10px;
}
#sec02t-3 span{
    color: #009342;
    font-size: 55px;
}
#sec02t-4{
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
}
#sec02t-4 span{ 
    color: #009342;
    font-weight: bolder;
}
#sec02t-5{
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
}
#sec02t-6{
    font-size: 28px;
    font-weight: bold;
    text-align: center;
}
#sec02t-6 span{
    color: #6cadb2; 
    font-weight: bolder;
}


#sec03{padding: 60px 0;}
#sec03t-1{
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}
#sec03t-2{
    font-weight: 900;
    font-size: 28px;
    text-align: center;
}
#sec03t-2 span{
    color: #009342;
}
#sec03 ul{
    display: flex;
    gap: 30px;
    margin: 30px 0 0;
}
#sec03 li{
    width: 50%;
    text-align: center;
    background: #fff;
    border: 2px solid #dedede;
    border-radius: 14px;
    padding: 25px 0;
}
#sec03 li div{ 
    color: #6cadb2; 
    font-weight: bold; 
    font-size: 18px;
}
#sec03 li img{
    height: 110px; 
    margin: 8px 0;
}
#sec03 li p{
    font-weight: bold;
}
#sec03 li p span{
    background: yellow;
}
#sec03t-3{
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin: 40px 0;
}
#sec03 table{
    width: 100%;
    border: 2px solid #dedede;
    border-radius: 14px;
    background: #fff;
}
#sec03 tr{
    border-bottom:2px solid #dedede;
}
#sec03 th{
    width: 270px;
    text-align:center;
    border-bottom:2px solid #dedede;
}
#sec03 th img{
    width: 220px;
}
#sec03 td{
    border-bottom:2px solid #dedede;
    padding: 24px 0;
}
.sec03t-4{
    font-weight: bold;
    font-size: 18px;
}
.sec03t-5{
    font-weight: bold;
}
.sec03t-5 span{
    color:red;
    font-size: 24px;
    margin: 0 8px;
}
.sec03t-6{
    margin: 8px 0;
}
.sec03t-8{
    width: 190px;
    float: left;
}
#sec03t-12{
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin: 40px 0 0;
}
.table-wrap{
     border-radius: 14px;
     overflow: hidden; 
}


#sec05{
    margin: 60px 0;
}
#sec05 img{
   width:100%;
}
#sec05t-1{
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}
#sec05t-2{
    font-weight: 900;
    font-size: 30px;
    text-align: center;
    color: #009342;
    margin-bottom: 30px;
}

#sec06{

}
.balloon{
    color: #333;
    text-align: center;
    min-width: 100%;
    background: #e2f3f3; 
    padding: 30px 0;
    display: inline-block;
    position: relative;
}
.balloon::after {
   content: ''; 
   position: absolute;
   bottom: 0;
   left: 50%;
   width: 40px;
   height: 40px;
   background: #e2f3f3;
   transform: translate(-50%,55%) rotate(45deg);
   transform-origin:center center; 
}
#sec06 p{
    font-weight: 900;
    font-size: 28px;
    text-align: center;
}
#sec06 p span{ 
    color: #009342;
}
#sec06 ul{
    display: flex;
    gap: 2%;
    flex-wrap: wrap;
    margin: 60px 0;
}
#sec06 li{
    width: 49%;
    text-align: center;
}


#sec08{
    position:relative;
}

#sec08 a{
   position: absolute;
    width: 90%;
    margin-left: 5%;
    height: 25%;
    left: 0;
    bottom: 17%;
}
#sec08 p{
   background:#000;
   color:#fff;
   font-weight:bold;
   text-align:center;
   font-size:16px;
   padding: 10px 0;
}


#sec09{
    padding: 50px 0 30px;
    position: relative;
}
#sec09t-1{
    font-size: 28px;
    font-weight: 900;
    text-align: center;
}
#sec09t-1 span{
    color: #6cadb2;
}
#sec09t-2{
    font-size: 28px;
    font-weight: 900;
    text-align: center;
}
#sec09t-2 span{
    color: #009342;
}
#sec09t-3{
    text-align: center;
    font-size:16px;
    font-weight:bold;
    margin: 20px 0 0;
}
#sec09 ul{
    width: 680px;
    margin: 30px auto;
    overflow: auto;
}
#sec09 li{
    margin: 0 auto 30px;
    clear: both;
    background: #fff;
    overflow: auto;
    padding: 10px 30px 20px;
    border: 2px solid #dedede;
    border-radius: 14px;
}
#sec09 li div{
    color: #009342;
    font-size: 28px;
    font-weight: bolder;
    text-align: center;
    margin: 12px 0 20px;
}
#sec09 li span{
    position: absolute;
    left: 36px;
    background: #009342;
    color: #fff;
    text-align: center;
    width: 100px;
    font-size: 20px;
    font-weight:bold;
    transform: skewX(-10deg);
}
#sec09 li p{
    float: right;
    width: 48%;
    font-size: 16px;
    font-weight: bold;
}
#sec09 li img{
    float: left;
}


#sec11{
    padding: 40px 0;
}
#sec11t-1{
    font-size: 18px;
    text-align: center;
    font-weight: bold;
}
#sec11t-3{
    color: #009342;
    text-align: center;
    font-weight: 900;
    font-size: 30px;
    padding: 60px 0 40px;
}
#sec11t-2{
    color: #009342;
    text-align: center;
    font-weight: 900;
    font-size: 32px;
}
#sec11 ul{

}
#sec11 li{
    position:relative;
}
#sec11 li img{    
    max-width: 780px;
}
#sec11 li p{   
    background: #fff;    
    border-radius: 0 0 12px 12px;    
    padding: 16px 50px 30px;    
    font-weight: bold;    
    font-size: 26px;    
    text-align: center;
}
#sec11 li p span{
    
}
#sec11 li .r-title{
    background: #fff;
    padding: 20px 50px 0;
    color: #df1c1c;
    font-weight: bold;
    font-size: 34px;
    text-align: center;
    line-height: 47px;
} 
#sec11 li .r-title span{  
    font-size: 48px;
    font-weight: 800;
}
#sec11 li .sou{
    position: absolute;
    left: 255px;
    bottom: 167px;
    font-size: 21px;
    line-height: 1.1;
    font-weight: 800;
    color: #df1c1c;
} 
.reason-border{
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    width: 380px;
    margin: auto;
    border: 2px solid;
    border-radius: 10px;
    padding: 20px;
}
.rw-back{
    background:#fff;
    padding: 20px 0 40px;
    border-radius: 0 0 10px 10px;
}

.shop-title{
    background: #000;
    color: #fff;
    text-align: center;
    font-weight: bold;
    font-size: 24px;
    padding: 16px 0;
}
.shop-img-area{
    background: #fff;
    padding:30px;
}
.sia-top{width: 660px;}
.shop-img-area ul{
    display: flex;
    gap: 27px;
    margin: 27px 0;
}
.shop-img-area li{

}
.shop-img-area li img{

}
.access{
    width: 720px;
    margin: auto;
}
.access table{
    background: #fff;
    width: 100%;
    padding: 0 30px;
    border-collapse: collapse;
}
.access tr{

}
.access tr th{
    width: 190px;
    text-align: center;
    background: #fff109;
    padding: 10px;
    border: 2px solid #dedede;
}
.access tr td{
    padding: 10px 20px;
    font-weight:bold;
    border: 2px solid #dedede;
}
.access tr td span{

}
.access iframe{
    width: 100%;
    padding: 0 0px 0px;
    background: #fff;
    height: 300px;
    border: 2px solid #dedede!important;
    border-top: none!important;
}


#contact{background: #fff109;}
.toi_title{text-align:center;margin: 0 0 30px;}
.toi_title img{width:50%;}


:root{
      --yellow:#ffe600;
      --red:#e60012;
      --text:#111;
      --border:#cfcfcf;
      --field:#ffffff;
      --radius:12px;
}
.wrap{
      max-width: 680px;
      margin: 0 auto;
      padding: 50px 14px 40px;
}

.row{ margin: 12px 0; }
.label-line{
    display:flex;
    align-items:center;
    gap:10px;
    margin: 0;
    font-weight: 800;
    font-size: 14px;
}
.req{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background: var(--red);
    color:#fff;
    font-weight: 900;
    font-size: 12px;
    padding: 4px 10px;
    border-radius: 4px;
    line-height:1;
    min-width: 48px;
}
.field{
    width:100%;
    background: var(--field);
    border: 2px solid var(--border);
    border-radius: var(--radius);
    padding: 14px 14px;
    font-size: 16px;
    outline: none;
    margin: 20px 0;
}
.field:focus{
    border-color:#9a9a9a;
    box-shadow: 0 0 0 3px rgba(0,0,0,.08);
}

.radio-wrap{
    background: transparent;
    border-radius: 14px;
}
.radio-group{
    display:flex;
    flex-wrap: wrap;
    gap: 12px 18px;
    align-items:center;
    margin-top: 4px;
    padding-left: 2px;
    margin: 20px 0;
}
 .radio{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size: 14px;
    font-weight: 700;
}

.radio input[type="radio"]{
    appearance:none;
    width:18px;
    height:18px;
    border:2px solid #777;
    border-radius:50%;
    background:#fff;
    display:inline-grid;
    place-items:center;
    margin:0;
}
.radio input[type="radio"]::before{
    content:"";
    width:10px;
    height:10px;
    border-radius:50%;
    transform: scale(0);
    transition: .12s ease;
    background:#333;
}
.radio input[type="radio"]:checked::before{
    transform: scale(1);
}


.inline-2{
    display:grid;
    grid-template-columns: 1fr 50%;
    gap: 12px;
    align-items:center;
}

textarea.field{
    min-height: 140px;
    resize: vertical;
}

.note{
    font-size: 12px;
    margin-top: 6px;
    opacity: .85;
}

.actions{
    margin-top: 20px;
}

.btn{
    width:100%;
    border:none!important;
    border-radius: 12px;
    background: var(--red)!important;
    color:#fff!important;
    font-size: 22px;
    font-weight: 900;
    padding: 18px 12px;
    cursor:pointer;
   /* box-shadow: 0 3px 0 rgba(0,0,0,.25)!;*/
}
.btn:active{
    transform: translateY(1px);
    box-shadow: 0 2px 0 rgba(0,0,0,.25);
}

.reset{
    display:block;
    text-align:center;
    font-size: 14px;
    font-weight: 800;
    color:#1a1a1a;
    text-decoration: underline;
    background: transparent;
    border:none;
    cursor:pointer;
    margin: 20px auto 0;
}

input[type="date"].field{
    padding-right: 12px;
}
select.field{
    padding-right: 40px;
    appearance: none;
    background-image:
    linear-gradient(45deg, transparent 50%, #444 50%),
    linear-gradient(135deg, #444 50%, transparent 50%),
    linear-gradient(to right, transparent, transparent);
    background-position:
    calc(100% - 18px) 50%,
    calc(100% - 12px) 50%,
    0 0;
    background-size: 6px 6px, 6px 6px, 100% 100%;
    background-repeat: no-repeat;
}

.edit_errors {
    color:red!important;
    border:none!important;
}
.button-back {border-radius: 8px!important; cursor: pointer;}
.button-confirm {
    border-radius: 8px !important;
    background: #dd2020 !important;
    color: #fff !important;
    font-weight: bold;
    font-size: 18px !important;
    border: none !important;
    cursor: pointer;
}
.button-back.hvr-fade:hover{
    background:#fff!important;
    color:#000!important;
}
.hvr-fade:focus, .hvr-fade:active {
    background-color: #dd2020!important;
    color: #fff;
}
.form-contact ul li div {font-weight:bold;}
.ok{
    text-align:center; 
    font-size:18px; 
    font-weight:bold; 
    padding:50px !important;
}

.contact-top{display:none;}

.fixed_banner_pc{
    position:fixed;
    z-index:99;
    right: 0;
    width: 200px;
    text-align: center;
    background:#fff;
    top:35%;
}
.fixed_banner_pc a{
    border: 2px solid #dedede;
    width: 100%;
    display: block;
    padding: 20px 0 14px;
    margin: 0;
}
.fixed_banner_pc a p{
    font-weight: bold;
    padding: 8px 0;
}
.fixed_banner_pc a img{
    width: 40px;
}

.fixed_banner_sp{
    display:none;
}


/******************************************
            スマホ
*********************************************/
@media screen and (max-width: 780px) {
    main { width: 100%; margin:auto; padding-top: 27px;}
    .card2-2{width:100%;margin: 0 0px 20px;}
    .card2-t-1 {font-size:15px;}
    .n-space {margin: 0 5%;}

    #sec01 {padding: 30px 0 20px;}
    .sec01m-1{width:100%; margin: 0 0px 12px;}
    .sec01m-1 img{width:100%;}
    #sec01t-1 {font-size:15px;}

    #sec02 {margin: 40px 0;padding: 0 5%;}
    #sec02 ul {gap: 4px; margin-bottom: 25px;}
    #sec02 li {font-size: 13px;padding: 8px 0;}
    #sec02t-1 {font-size:16px;width: 50%;}
    #sec02t-2 {font-size:20px;margin: 0px 0px 20px;}
    #sec02t-3 {font-size:26px;}
    #sec02t-3 span {font-size:32px;}
    #sec02t-4 {font-size:20px;}
    #sec02t-4 span {font-size:20px;}
    #sec02t-5 {font-size:20px;}
    #sec02t-6 {font-size:20px;}
    #sec02t-6 span {font-size:20px;}

    #sec03 {padding: 40px 0;}
    #sec03t-1 {font-size:18px;}
    #sec03t-2 {font-size:26px;}
    #sec03 ul {gap:10px;}
    #sec03 th {width: 0;}
    #sec03 td {padding:12px 0;}
    #sec03 li img { width: 80px;height: 70px;}
    #sec03 th img {width:120px;}
    #sec03t-3 {margin:30px 0;}
    .sec03t-4 {font-size: 16px;}
    .sec03t-5 {font-size:12px;}
    .sec03t-5 span {font-size: 18px;margin: 0 2px;font-weight: 900;}
    .sec03t-6 {font-size:12px;}
    .sec03t-7 {font-size:12px;}
    .sec03t-8 {font-size:12px;}
    .sec03t-6 {margin: 0px 0 4px;}
    #sec03t-12 {margin:30px 0 0;}

    #sec05 {margin: 40px 0;}
    #sec05t-1 {font-size:18px;}
    #sec05t-2 {font-size:26px;margin-bottom: 20px;}

    #sec06 p {font-size:24px;}
    #sec06 ul {gap:0;padding: 0 5%;margin: 60px 0 40px;}
    #sec06 li {width: 50%;margin-bottom: 20px;}
    #sec06 li img{width:100%;}

    #sec08 a {bottom:25%;}

    #sec09 {padding: 40px 0 10px;}
    #sec09 ul {width:100%;}
    #sec11 li img {max-width: 100%;}
    .reason-border {width: 80%;font-size: 15px;padding: 15px;}
    #sec09t-1 {font-size:24px;}
    #sec09t-2 {font-size:24px;}
    #sec09t-3 {font-size: 15px;margin: 12px 0 0;}
    #sec09 ul {padding:0 5%; margin: 30px auto 10px;}
    #sec09 li img {width:50%;}
    #sec09 li {padding: 5px 16px 20px;}
    #sec09 li div {font-size:22px;}
    #sec09 li p {font-size:14px;}
    #sec09 li span {left: 12px;width: 80px;font-size: 16px;}

    #sec11 li p {padding: 4px 0px 30px;font-size: 18px;}
    #sec11 li .r-title {padding: 10px 0px 0;font-size: 26px; line-height:40px;}
    #sec11 li .r-title span {font-size: 38px;}
    #sec11 li .sou {left: 22%;bottom: 30.75%;font-size: 19px;}

    .access {width: 100%; padding: 0 5%;}
    .sia-top {width: 100%;}
    .shop-img-area {padding:20px;}
    .shop-img-area ul {gap:12px; margin: 12px 0 0;}
    .shop-title {font-size: 18px;padding: 10px 0;}
    .access tr th {width: 85px;}
    .access tr td {padding:10px 12px;}
    .access iframe {height:200px;}
    #sec11t-3 {font-size: 24px;padding: 40px 0 30px;}


    .toi_title img {width: 70%;}

    .ok{
        text-align:center!important; 
        font-size:18px; 
        font-weight:bold; 
        padding:30px !important;
        margin: 20px 20px 0 !important;
    }

    footer {margin: 0px 0 0 0; width:100%;}
    .warpper-copyright {margin:0;}


    .fixed_banner_pc{display:none;}
    .fixed_banner_sp{
        position:fixed;
        z-index:99;
        width: 100%;
        text-align: center;
        background:#fff;
        display:block;
        height: auto;
        bottom: 0;
        display: flex;
        transform: 0;
    }
    .fixed_banner_sp a{border: 2px solid #dedede;width: 100%;display: block;padding: 20px 0 14px;margin: 0;}
    .fixed_banner_sp a p{font-weight: bold;padding: 8px 0;}
    .fixed_banner_sp a img{width: 40px;}

    .fixed_banner_sp a {padding:14px 0;}
    .w-{height:100px;}
} 