@charset "utf-8";
/*common*/
/*basic*/
img{
    display: block;
    width:auto;
    height:auto;
    object-fit: cover;
}
img.line{
    width:100%;
}
a.anchor{
    display: block;
    position: relative;
    top: -0px;
    visibility: hidden;
}
body {
    font-family: "Shippori Mincho", serif;
    color: #001844;
    overflow-x: hidden;
}
body p{
    line-height: 1.8em;
}
.en {
    font-family: "Libre Caslon Display", serif;
}
.gt{
    font-family: "Noto Sans JP", sans-serif;
}
.page-top{
    position: fixed;
    right:2.5vw;
    bottom:2.5vh;
    z-index: 999;
    display: flex;
    justify-content: center;
    align-items: center;
    width:60px;
    height:60px;
    font-size:20px;
    color:#fff;
    background-color:#002d80;
    border-radius: 50%;
    cursor: pointer;
}
.page-top:hover{
    background-color:#1349ac;
    transition: .3s;
}
/*view*/
.pc{
    display: block;
}
.ip{
    display: none;
}
.sp{
    display: none;
}
/*wide*/
.pd100{
    padding:100px 0;
}
.pd50{
    padding: 50px 0;
}
.pd1-5{
    padding:100px 0 50px;
}
.pd5-1{
    padding:50px 0 100px;
}
.pd0-1{
    padding:0 0 100px;
}
.wd-large{
    width:90vw;
    max-width:1344px;
    margin:auto;
}
.wd-middle{
    width:90vw;
    max-width:1000px;
    margin:auto;
}
.wd-small{
    width:90vw;
    max-width:800px;
    margin:auto;
}
/*highlight*/
h1, h2, h3, h4, h5, h6{
    line-height: 1.3em;
}
.h_type01{
    display: flex;
    align-items: center;
    color:#b9853c;
    text-align: center;
    font-size:20px;
    font-weight: 500;
}
.h_type01::before, .h_type01::after{
    content:"";
    flex-grow:1;
    height:2px;
    background-color:#b9853c;
}
.h_type01::before{
    margin-right:20px;
}
.h_type01::after{
    margin-left:20px;
}
.h_type02{
    display: flex;
    flex-flow: column;
    text-align: center;
    font-weight: 500;
    line-height: 2em;
}
.h_type02 span{
    margin-bottom:15px;
    font-size:46px;
    color:#b9853c;
    font-weight: 400;
    line-height: 1em;
    letter-spacing: 1px;
}
.h_type03{
    display: inline-block;
    padding:0 25px 5px;
    text-align: center;
    font-style: italic;
    font-size: 36px;
    font-weight: 500;
    letter-spacing: 2px;
    border-bottom: 4px solid red;
    border-image: linear-gradient(to right, #6d3d00 0%, #e9d260 50%, #6d3d00 100%) 1;
}
.h_type03 span.small{
    font-size:28px;
}
.h_type03 span.orange{
    color:#b57e43;
    font-size:48px;
    font-weight: 600;
    font-family: "M PLUS Rounded 1c", sans-serif;
}
.h_type03 span.orange span{
    font-size:34px;
    font-weight: 500;
}
/*link*/
.link-btn01{
    display: flex;
    justify-content: center;
    align-items: center;
    height:50px;
    color:#fff;
    background-color:#001844;
    border-radius: 5px;
}
.link-btn01:hover{
    background-color:#12387f;
    transition: .3s;
}
.link-btn02{
    display: inline-flex;
    justify-content: center;
    align-items: center;
/*    width:40%;*/
    min-width:300px;
    height:60px;
    margin:auto;
    padding:0 2em;
    font-size:20px;
    color:#fff;
    background-color:#002d80;
    border-radius: 5px;
}
.link-btn02 i{
    margin-right:10px;
    font-size:1.4em;
}
.link-btn02:hover{
    background-color:#1349ac;
    transition: .3s;
}
/*header*/
header{
    position: fixed;
    top:0;
    left:0;
    z-index: 500;
    width:100%;
    height:70px;
    color:#fff;
    background-color:rgb(16,18,50,0.8);
}
header .wrap{
    width:100%;
    height:100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
header .logo-box{
    margin-left:1vw;
}
header .logo-box img{
    height:50px;
}
header nav{
    display: flex;
    flex-flow: row;
    height:100%;
}
header nav ul:nth-child(1){
    display: flex;
    gap:40px;
}
header nav ul:nth-child(1) li{
    display: flex;
    justify-content: center;
    align-items: center;
}
header nav ul li.btn{
    display: flex;
    justify-content: center;
    align-items: center;
    width:10em;
    text-align: center;
    line-height: 1.6em;
}
header nav ul li.btn.red{
    background-color:#811412;
}
.header-nav ul li a{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width:100%;
    height:100%;
    position: relative;
}
.header-nav ul li a::before, .header-nav ul li a::after {
    border-bottom: solid 1px #fff;
    bottom: 20px;
    content: "";
    display: block;
    position: absolute;
    transition: all .3s ease;
    -webkit-transition: all .3s ease;
    width: 0;
}
.header-nav ul li ul li a::before, .header-nav ul li ul li a::after{
    border-bottom:none;
/*    bottom:-3px;*/
}
.header-nav ul li a::before{
    left:50%;
}
.header-nav ul li a::after{
    right:50%;
}
.header-nav ul li a:hover::before, .header-nav ul li a:hover::after{
    width:50%;
}
.header-nav ul li ul li a:hover::before, .header-nav ul li ul li a:hover::after{
    width:40%;
}
.header-nav ul li:nth-last-of-type(1) a::before, .header-nav ul li:nth-last-of-type(1) a::after{
    border-bottom:none;
}
header nav ul li.btn.red:hover{
    background:#a83431;
    transition: .3s;
}
/*gnav*/
ul.list li.logo{
   margin-bottom:50px; 
}
ul.list li.logo img{
    width:150px;
    margin-bottom:10px;
}
/*eyecatch*/
.eyecatch{
    width:100%;
    aspect-ratio:16/9;
    color:#fff;
    background-color: #001844;
    background-image: url(../img/bg_hero.jpg);
    position: relative;
}
.eyecatch .wrap{
    display: flex;
    flex-flow: column;
    justify-content:space-between;
    align-items: flex-start;
    height:100%;
    position: relative;
    z-index: 3;
}
.eyecatch .box01{
    margin-bottom:70px;
}
.eyecatch h2{
    margin-top:140px;
    font-size:38px;
    font-weight: 200;
    letter-spacing: 2.5px;
    text-shadow:1px 1px 8px rgb(0,0,0);
}
.eyecatch h3{
    font-size:46px;
    font-weight: 300;
    line-height: 1.6em;
}
.eyecatch .box01 p{
    display: inline-flex;
    margin:40px 0 55px;
    padding:0 15px 8px;
    font-size:24px;
    border-bottom:solid 0.5px;
}
.eyecatch .link-box{
    display: flex;
    gap:35px;
}
.eyecatch .link-box.sp{
    display: none;
}
.eyecatch.sub{
    display: flex;
    justify-content: center;
    align-items: center;
    height:50vh;
    min-height:400px;
    max-height:500px;
    background-image: url(../img/bg_blue-m.jpg);
    box-sizing: border-box;
}
.eyecatch.sub h2{
    font-size:16px;
}
.eyecatch.sub h3{
    margin-top:60px;
    text-align: center;
    font-size:28px;
}
.eyecatch.sub .box01{
    padding-bottom:50px;
}
.bd-btn{
    display: flex;
    justify-content: center;
    align-items: center;
    padding:15px 40px;
    text-align: center;
    text-shadow:1px 1px 8px rgb(0,0,0);
    font-size:20px;
    line-height: 1.3em;
    color:#fff;
    border:solid 2px;
    border-radius: 5px;
    box-shadow:3px 4px 8px rgb(0,0,0,0.5), inset 3px 4px 8px rgb(0,0,0,0.5);
}
.bd-btn.red{
    background-color:#970b0a;
}
.bd-btn.red:hover{
    background-color:#a83431;
    transition: .3s;
}
.bd-btn.orange{
    background-color:#A67E49;
}
.bd-btn.orange:hover{
    background-color:#c69b63;
    transition: .3s;
}
.eyecatch .fade-hero{
    position: absolute;
    top:0;
    right:0;
    z-index: 1;
    width:50%;
    height:100%;
}
.eyecatch .fade-hero img{
    width:100%;
}
.fade-hero_sp{
    display: none;
}
section.point{
    text-align: center;
}
.icon-box{
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    gap:50px 30px;
    width:80%;
    margin:80px auto 50px;
    font-weight: 500;
}
.icon-box .box01{
    display: flex;
    flex-flow: column;
    align-items: center;
    width:30%;
}
.icon-box img{
    width:200px;
    margin-bottom:1em;
}
.icon-box p{
    font-size:18px;
}
section.cause ul{
    display: flex;
    flex-flow: row wrap;
    gap:20px;
    margin:50px 0;
}
section.cause ul li{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-grow: 1;
    width:15em;
    height:50px;
    text-align: center;
    font-weight: 500;
    box-shadow:0px 10px 8px -7px rgb(0,0,0,0.4);
}
section.cuisine .box01{
    background-image: url(../img/bg_cuisine.jpg);
    background-repeat: no-repeat;
    background-size:80%;
    background-position:150% center;
}
section.cuisine .box01 .text-box{
    width:50%;
    height:100%;
    padding:100px 0;
    margin-right:auto;
    background:linear-gradient(to right, rgb(255,255,255) 70%, rgb(255,255,255,0.8) 85%, rgb(255,255,255,0) 100%);
}
section.cuisine .box01 .text-box .h_type02{
/*    display: inline-flex;*/
}
section.cuisine .box01 p{
    margin-top:30px;
    text-align: center;
    font-size:28px;
    font-weight: 500;
}
section.cuisine .box02{
    background-image: url(../img/bg_blue.jpg);
}
section.cuisine .list-box ul{
    display: flex;
    text-align: center;
    box-sizing: border-box;
    margin:50px 0;
}
section.cuisine ul.genre{
    justify-content: space-between;
    gap:50px;
}
section.cuisine ul.genre li{
    flex-grow: 1;
}
section.cuisine ul.genre img{
    width:100%;
    aspect-ratio:4/3;
}
section.cuisine ul.genre h4{
/*    display:inline-flex;*/
    width:80%;
    margin:20px auto;
    padding:8px 0;
    font-size:18px;
    font-weight: 500;
    letter-spacing: 1px;
    background:linear-gradient(to right, transparent 0%, #fff 10%, #fff 90%, transparent 100%);
}
section.cuisine ul.style{
    justify-content: center;
    gap:50px;
}
section.cuisine ul.style li{
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
    width:25%;
}
section.cuisine ul.style img{
    width:200px;
    margin:0 auto 20px;
}
section.cuisine ul.genre p{
    font-size:14px;
    letter-spacing: -0.5px;
}
section.cuisine .box03{
    text-align: center;
    border-top:solid 2px #b9853c;
}
section.cuisine .box03 a{
    display: inline-flex;
    margin-bottom:15px;
    padding:0 3em;
    font-size:20px;
}
section.cuisine .box03 p{
    font-size:14px;
}
section.outline-sp{
    display: none;
}
section.venues ul{
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    gap:50px 30px;
    margin:50px auto;
}
section.venues ul li{
    width:320px;
    flex-grow: 1;
    background-color:#f8f8f8;
}
section.venues ul li:hover{
    box-shadow:0px 0px 10px rgb(0,0,0,0.5);
    transition: .3s;
}
section.venues ul li:hover .link-btn01{
    background-color:#12387f;
    transition: .3s;
}
section.venues ul li img{
    width:100%;
    aspect-ratio:6/4;
}
section.venues ul li .box01{
    margin:1em;
}
section.venues ul li .box01 h3{
    display: flex;
    flex-flow: row;
    align-items: center;
    padding:8px 1em;
    font-size:20px;
    font-weight: 600;
    box-sizing: border-box;
}
section.venues ul li .box01 h3 span{
    width:3.8em;
    margin-right:5px;
    text-align: center;
    font-size:12px;
    color:#b9853c;
    line-height: 1.8em;
    border:solid 1.5px;
    border-radius: 3px;
}
section.venues ul li .box01 p{
    padding:10px 15px;
    font-size:14px;
    color:#b9853c;
    border-top:solid 1px;
    border-bottom:solid 1px;
    overflow-wrap: anywhere;
    line-break: strict;
    word-break: auto-phrase;
}
section.venues ul li .box01 .link-btn01{
    width:50%;
    margin:20px auto;
    height:35px;
    font-size:14px;
}
section.outline .h_type02{
    color:#fff;
}
section.outline .layout .box01{
    margin:50px auto;
}
section.outline .layout .img-box{
    display: flex;
    justify-content: center;
    margin:20px 0;
}
section.outline .layout ul.img{
    display: flex;
    flex-flow: row;
    justify-content: center;
    gap:20px;
/*    width:75%;*/
}
section.outline .layout ul.img li{
    width:32%;
    border:solid 1.5px;
    box-sizing: border-box;
}
section.outline .layout h5{
    margin-bottom:5px;
    font-size:18px;
    font-weight: 500;
}
section.outline .layout h5::before{
    content:"■";
    margin-right:5px;
}
section.outline .layout ul.img h6{
    display: flex;
    justify-content: center;
    align-items: center;
    width:100%;
    height:35px;
    font-size:14px;
    font-weight: 400;
    color: #fff;
    background-color: #001844;
    letter-spacing: 1px;
}
section.outline .layout ul.img li img{
    width:100%;
    aspect-ratio:4/3;
}
section.outline .layout ul.text li{
    margin-bottom:1em;
    font-size:14px;
    font-weight: 500;
}
ul.fade-venues img{
    width:100%;
}
.cost-box ul .box{
    display: flex;
    flex-grow: 1;
    justify-content: center;
    align-items: center;
    height:3.8em;
    padding:0 1em;
    line-height: 1.4em;
    background-color:#eadbc5;
}
span.alert{
    display: block;
    margin:15px 0;
    font-size:14px;
}
.num1::before{
    content:"❶";
}
.num2::before{
    content:"❷";
}
section.outline .text-box h3{
    font-size:20px;
    font-weight: 500;
    letter-spacing: -0.5px;
}
section.outline .map-box img.map{
    width:100%;
    aspect-ratio:6/4;
}
.table-box{
    margin:50px 0;
}
.table-box .box01{
    overflow-x: scroll;
    overflow-y: hidden;
}
.table-box table{
    width:100%;
    min-width:1300px;
    margin:30px 0 0;
    table-layout: fixed;
    border-collapse: collapse;
    box-sizing: border-box;
    border-spacing: 0;
}
.table-box table th, .table-box table td{
    border:solid 1.5px;
    height:3em;
    vertical-align: middle;
    box-sizing: border-box;
}
.table-box table th{
    font-weight: normal;
}
.table-box table tr th:nth-child(1){
    width:15em;
}
.table-box table td{
    text-align: center;
}
.table-box table th.fx {
    position: sticky;
    top: 0;
    left: 0;
    background: #000;
    border-left: none;
    border-right: none;
}
.table-box table th.fx:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-left: 1.5px solid;
    border-right: 1.5px solid;
    background: #fff;
    z-index: -1;
}
.table-box.cancel .c-sp{
    display: none;
}
.table-box.cancel .box01{
    overflow-x: auto;
}
.pdf-box{
    margin:50px 0;
    text-align: center;
}
.pdf-box span{
    display: block;
    margin: 20px 0;
    line-height: 1.6em;
}
.pdf-box img{
    width:100%;
}
section.outline.main{
    background:linear-gradient(to bottom, #001844 0%, #001844 10%, #fff 10%);
}
section.outline.main ul.fade-venues{
    margin:30px 0 80px;
}
section.outline.main ul.fade-venues img{
    aspect-ratio:16/9;
}
section.outline.main .floor-cont{
    display: flex;
    flex-flow: row nowrap;
    margin-bottom:50px;
}
section.outline.main .map-box{
    width:40%;
}
.shade-box{
    position: relative;
}
.shade-box .shade{
    position: absolute;
    top:0;
    left:0;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width:100%;
    height:100%;
    font-size:20px;
    font-weight: 600;
    line-height: 1.8em;
    letter-spacing: 1px;
    color:#fff;
    background-color:rgb(0,0,0,0.3);
    text-shadow:0px 3px 8px rgb(0,0,0,0.7);
    opacity: 0;
}
.shade-box:hover .shade{
    opacity: 1;
    transition: .3s;
}
.shade-box .shade i{
    font-size:2em;
}
section.outline.main .text-box{
    width:60%;
    margin-left:50px;
    box-sizing: border-box;
}
section.outline.main .text-box p{
    margin:20px 0;
}
section.outline.main .cost-box ul{
    display: flex;
    justify-content: space-between;
    gap:20px;
}
section.outline.sub .box02{
    display: flex;
    flex-flow: row;
    justify-content: space-between;
    align-items: flex-start;
    gap:50px;
    margin-bottom:50px;
}
section.outline.sub .slide-box{
    width:55%;
}
section.outline.sub .title-box{
    width:100%;
    height:100%;
    background-color:#001844;
}
section.outline.sub ul.fade-venues{
    width:100%;
}
section.outline.sub ul.fade-venues img{
    width:100%;
    aspect-ratio:6/4;
}
section.outline.sub .floor-cont{
    width:45%;
}
section.outline.sub .text-box p{
    margin-top:20px;
}
section.outline.sub .map-box{
    width:80%;
    margin:30px auto;
}
.table-box.cancel{
    overflow-x:hidden;
}
.table-box.cancel table{
    min-width:inherit;
    margin:30px auto;
}
.table-box.cancel table tr th:nth-child(1){
    width:auto;
}
.table-box.cancel table tr:nth-child(1) th, .table-box.cancel table tr:nth-child(1) td{
    background-color:#eadbc5;
}
section.faq details {
    border-bottom: 1px solid #a9a9a9;
}
section.faq details::details-content {
    opacity: 0;
    block-size: 0;
    transition: .3s;
    transition-property: display, opacity, block-size, padding;
    transition-behavior: allow-discrete;
    line-height: 1.6em;
}
section.faq summary {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 1.4em 2em 1.4em 1.4em;
    line-height: 1.6em;
    box-sizing: border-box;
    cursor: pointer;
    position: relative;
}
section.faq summary::-webkit-details-marker {
    display: none;
}
section.faq summary::before {
    content:"";
    background-image: url(../img/arrow_down.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width:25px;
    height:25px;
    margin-right:1.4em;
}
section.faq summary h3{
    font-weight: normal;
    width:100%;
}
section.faq details[open] summary::before {
    background-image: url(../img/arrow_up.svg);
}
section.faq details[open]::details-content {
    opacity: 1;
    block-size: auto;
    block-size: calc-size(auto, size);
}
section.faq details .answer {
    display: flex;
    align-items: baseline;
    padding: 0 2em 0 3em;
    color:#0E317D;
}
section.faq details[open] .answer {
    padding: 0 2em 1.4em 3em;
}
section.faq details .answer::before{
    content:"A.";
    margin:0 5px 0 1.4em;
}
section.contact-block{
    text-align: center;
    color:#fff;
    background-image: url(../img/bg_blue-m.jpg);
}
section.contact-block .box01{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
}
section.contact-block .h_type02{
    color:#fff;
}
section.contact-block p{
    margin:20px auto 0;
}
section.contact-block a.tel{
    margin:10px 0 50px;
    font-size:38px;
    letter-spacing: 2px;
}
section.access .wrap{
    display: flex;
    justify-content: space-between;
    gap:50px;
    margin:50px 0;
}
section.access h4{
    margin-top:1em;
    font-weight: normal;
}
section.access ul{
    margin:0.4em 0 2em;
}
section.access ul li{
    line-height: 1.6em;
}
section.access ul li::before{
    content:"・";
}
section.access .map-box{
    width:50%;
}
section.access .map-box iframe{
    width:100%;
    height:320px;
}
section.access .parking .text-box{
    margin:30px 0;
}
section.access .parking ul{
    margin:0.4em 0;
}
section.access .parking span.alert{
    margin:0 15px 30px;
}
section.map-block{
    background-image: url(../img/bg_floormap.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center 80%;
    position: relative;
}
section.map-block .wrap{
    position: relative;
    z-index: 1;
}
section.map-block .shadow{
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background-color:rgb(61,61,61,0.6);
    z-index: 0;
}
section.map-block .h_type02, section.map-block .h_type02 span{
    color:#fff;
}
section.map-block a{
    display: block;
    margin:auto;
    width:320px;
}
section.map-block a:hover{
    box-shadow:0px 0px 10px rgb(0,0,0,0.8);
    transition: .3s;
}
/*footer*/
footer{
    padding:50px 0 30px;
    color:#fff;
    background-color:#101F45;
    background-image: url(../img/bg_footer.jpg);
    background-repeat: no-repeat;
    background-size:cover;
    background-position: 70% center;
    position: relative;
}
footer .wrap{
    display: flex;
    flex-flow: row nowrap;
    gap:50px;
    margin-bottom:30px;
    position: relative;
    z-index: 1;
}
footer .box-left{
    width:25%;
    text-align: center;
}
footer .box-left a.logo-box{
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width:160px;
    margin:0 auto 50px;
}
footer .box-left a.logo-box img{
    width:100%;
}
footer .box-left a.logo-box h2{
    margin:15px 0;
    font-size:18px;
    font-weight: normal;
}
footer .box-left .tel-box{
    margin:70px 0 0;
}
footer .box-left .tel{
    display: inline-block;
    font-size:24px;
    letter-spacing: 1px;
}
footer .box-left ul{
    display: flex;
    justify-content: center;
    gap:20px;
    margin:50px 0;
}
footer .box-left ul a:hover{
    opacity: 0.7;
    transition: .3s;
}
footer .box-right{
    width:50%;
}
footer .box-right ul.wrap{
    display: flex;
    gap:100px;
    margin-bottom:50px;
}
footer .box-right ul a{
    padding:0.5em 0;
}
footer .box-right ul a:hover{
    text-decoration: underline;
}
footer .box-right ul:nth-child(1) li{
    display: flex;
}
footer .box-right ul li:nth-child(1) ul{
    margin-left:2em;
}
footer .box-right ul li:nth-child(1) ul li{
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
footer .box-right ul li:nth-child(1) ul li::before{
    content:"－";
    margin-right:5px;
}
footer .box-right ul li:nth-child(2) ul li:not(:nth-last-child(1)){
    margin-bottom:2em;
}
footer .link-box{
    display: flex;
    flex-flow: row wrap;
    gap:30px;
}
footer .link-box .bd-btn{
    width:100%;
}
footer .link-box a.orange{
    flex-grow:1;
    padding:10px;
    text-align: center;
    color:#101F45;
    background-color:#CCB58B;
    border-radius: 3px;
}
footer .link-box a.orange:hover{
    background-color:#e1cdaa;
    transition: .3s;
}
footer small{
    display: flex;
    font-size:12px;
    position: relative;
    z-index: 1;
}
footer .bg{
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index: 0;
    background:linear-gradient(to right, #101F45 60%, rgb(16,31,69,0.5) 70%, transparent 90%);
}
/*contact form*/
section.form .text-box{
    padding:2em;
    box-sizing: border-box;
}
section.form.intro p span{
    font-size:24px;
    font-weight: 500;
}
section.form .req{
    color:red;
    font-weight: 500;
}
table.form{
    width:100%;
    border-collapse: collapse;
    box-sizing: border-box;
}
table.form tr{
    border-top:solid 1.5px #CFD2DA;
    border-bottom:solid 1.5px #CFD2DA;
}
table.form th, table.form td{
    padding:2em 1em;
    line-height: 2em;
    box-sizing: border-box;
}
table.form th{
    width:18em;
    text-align: left;
    font-weight: 500;
}
table.form td{
    display: flex;
    flex-flow: column;
}
form input, form textarea, form select{
    margin:0 5px;
    padding:0.8em;
    box-sizing: border-box;
}
form input.middle{
    width:100%;
    max-width:30em;
}
form input.short{
    width:8em;
}
form textarea{
    height:10em;
}
form select:invalid {
    color: #CFD2DA;
}
form select option:first-child {
    color: #CFD2DA;
}
form .other-box{
    text-align: center;
    line-height: 1.6em;
}
form .other-box div{
    margin-bottom:80px;
}
form button{
    font-family: "Shippori Mincho", serif;
    cursor: pointer;
    border:none;
}
form .date-box .wrap{
    display: flex;
    align-items: center;
    gap:30px;
}
form .date-box:nth-of-type(1) .wrap{
    margin-bottom:15px;
}
form .date-box:nth-of-type(2) .wrap{
    margin-bottom:30px;
}
form td.name .wrap{
    display: flex;
    flex-flow: column;
}
form td.name .wrap:nth-of-type(1){
    margin-bottom:1em;
}
form td.stay .stay-wrap{
    display: flex;
}
form td.stay .type01{
    display: flex;
    align-items: center;
    margin:3px 0 20px;
}
form td.stay .type01 label{
    margin-right:30px;
    white-space: nowrap;
}
form td.stay .type01 input.name{
    width:8em;
}
section.form.thanks a{
    width:220px;
    margin:30px auto;
}
form .back-btn, form .link-btn02{
    font-family: "Shippori Mincho", serif;
    border:none;
    cursor: pointer;
}
/*animation*/
.fadeUp {
    animation-name: fadeUpAnime;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}
@keyframes fadeUpAnime {
    from {
        opacity: 0;
        transform: translateY(50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.fadeUp-A {
    animation-name: fadein-up;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}
@keyframes fadein-up {
    from {
        opacity: 0;
        transform: translateY(100px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.delay01{
    animation-delay: 0.5s;
}
.delay02{
    animation-delay: 1s;
}
