﻿@charset "UTF-8";
html,body{font-size:62.5%}

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;color:#656262;font-family:"Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;font-weight:500;vertical-align:baseline;background:transparent;list-style-type:none}
#contents #main dl dd textarea{font-family:"Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif}
div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{box-sizing:border-box}
body{line-height:1}
ul,ol{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:none}
table{border-collapse:collapse;border-spacing:0}
input,textarea{margin:0;padding:0}
strong{font-weight:bold}
input,button,textarea,select{font-family:"Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif}
img{max-width:100%;vertical-align:middle}
.clear{clear:both}
.alignleft {float:left}
.alignright {float:right}


/*== 全体 ==*/
.pc_non{display:none}
.scroll-fade {opacity:0;transform:translateY(20px);transition:all 1s}
#wrap {overflow:hidden;background:#f9f9ee;}

/*-- font --*/
h1,h2,h3,h4,h5,b,strong {clear:both;font-weight:700;line-height:1.6}
h1 span,h2 span,h3 span,h4 span,h5 span,b span,strong span {font-weight:700;line-height:1.6}
p,li,dt,dd,th,td{line-height:1.6}
p,li,dt,dd,th,td,span,div {font-size:1.5rem}
{font-family:"Roboto", "Noto Sans JP", "メイリオ", sans-serif}
a {color:#656262;text-decoration:none}
#main h2,
#archive_main .archive_news_inner h2 {
    position:relative;
    border-top:1px solid #2c8dbc;
    font-size:3rem;
    margin-top:70px;
    margin-bottom:30px;
    padding-top:30px;
}
#main h2::before,
#archive_main .archive_news_inner h2::before {
    position:absolute;
    display:block;
    content:'';
    top:0;
    left:0;
    width:100px;
    height:5px;
    border-radius:0 0 3px 3px;
    background:#2c8dbc;
}
#main h3 {
    border-top:1px solid #656262;
    border-bottom:1px solid #656262;
    font-size:2.5rem;
    margin-top:70px;
    margin-bottom:30px;
    padding:15px 0;
}
#main h4 {
    font-size:2rem;
    margin-top:60px;
    margin-bottom:30px;
    padding:2px 0 2px 15px;
    border-left:3px solid #2c8dbc;
}
#contents #main h5 {
    font-size:1.8rem;
    margin-top:50px;
}
#main p {
    line-height:1.8;
    margin-top:20px;
}
#contents #main ul,
#contents #main ol {margin-top:20px;}
#contents #main ul li {
    position:relative;
    margin-top:10px;
    padding-left:20px;
}
#contents #main ul li::after {
    position:absolute;
    top:.7rem;
    width:8px;
    height:8px;
    left:0;
    display:block;
    content:'';
    border-radius:50%;
    background:#636363;
}
#contents #main ol {
    margin-left:20px;
}
#contents #main ol li {
    list-style:outside;
    list-style-type:decimal;
    margin:10px 0 0 0;
}
#contents #main table {width:100%;margin-top:40px;}
#contents #main table th,
#contents #main table td {vertical-align:middle;border:1px solid #d1d1d1;padding:15px;}
#contents #main table th p,
#contents #main table td p {margin:0;}
#contents #main table th {background:#f1faff;}
#contents #main table td {background:#fff;}

#main a {color:#2C8DBC;text-decoration:underline;}

.page_thumbnail {
    display:block;
    content:'';
    max-width:750px;
    height:500px;
    margin:0 auto 40px auto;
    border-radius:50px 0 0 0;
}


/*-- float --*/
.alignleft,.alignright{width:400px}
.alignleft{padding:0 40px 40px 0}
.alignright{padding:0 0 40px 40px}
.aligncenter{margin:0 auto;text-align:center}


/*== header ==*/
header {height:90px;padding:16px 30px;}
.header_inner {display:flex;align-items: center;}
.h_logo {width:270px;}
.h_logo a {display:block;}
.openbtn {display:none;}
#g-nav {width:calc(100% - 270px);margin-left:40px;}
#g-nav ul {position:relative;display:flex;align-items: center;}
#g-nav ul li {position: relative;margin-left:30px;}
#g-nav ul li.gnavi06 {
    position:absolute;
    top:50%;
    right:0;
    transform: translate(0, -50%);
    margin-left: 0;
}
#g-nav ul li.gnavi06 a {
    color:#fff;
    display:inline-block;
    background:#2c8dbc;
    padding:13px 30px;
    border-radius:30px;
}
nav#g-nav ul li ul{display: block;}
#g-nav ul.ac_nav {position: absolute;}
nav li.has-child ul{
    left:50%;
    margin-left:-100px;
    top:40px;
    z-index: 4;
    background:#656262;
    width:200px;
    visibility: hidden;
    opacity: 0;
    transition: all .3s;
}
nav#g-nav li.has-child ul li {margin:0;}
nav#g-nav li.has-child ul li a {
    display:block;
    padding:15px 10px;
}

nav li.has-child:hover > ul,
nav li.has-child ul li:hover > ul,
nav li.has-child:active > ul,
nav li.has-child ul li:active > ul{
  visibility: visible;
  opacity: 1;
}
nav li.has-child ul li {margin:0;}
nav li.has-child ul li a{
    color: #fff;
    border-bottom:solid 1px #444;
}

nav li.has-child ul li:last-child a{
    border-bottom:none;
}

/*== footer ==*/
#top {
    position:fixed;
    z-index:200;
    right:2%;
    bottom:3%;
    width:60px;
    height:60px;
}
#top a {
    position:relative;
    display:block;
    width:60px;
    height:60px;
    border-radius:50%;
    background:#2c8dbc;
}
#top a::before{
    position:absolute;
    display: inline-block;
    content:'';
    top:50%;
    left:50%;
    margin:-3px 0 0 -4px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(45deg);
}
#footerInfo {
    position:relative;
    display:flex;
}
#footerInfo_left {
    position:relative;
    width:50%;
    background:#fff;
    padding:50px 4% 70px 4%;
}
#footerInfo_left::before {
    position:absolute;
    content:'';
    display:block;
    right:5px;
    bottom:0;
    width:312px;
    height:185px;
    background:url(img/global/footerInfo_right_figure.svg) right bottom no-repeat;
    background-size:contain;
}
#footerInfo_left h2 {width:357px;}
.footerInfo_left_text {
    line-height: 2;
    margin-top:50px;
}
.footerInfo_left_btn {margin-top:50px;}
.footerInfo_left_btn a {
    position:relative;
    display:inline-block;
    color:#2c8dbc;
    text-align: center;
    background:#fff;
    border:1px solid #2c8dbc;
    padding:15px 45px;
    border-radius:30px;
}
.footerInfo_left_btn a::before {
    position:absolute;
    display: inline-block;
    content:'';
    top:50%;
    right:15px;
    margin-top:-3px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #2c8dbc;
    border-right: 2px solid #2c8dbc;
    transform: rotate(45deg);
}
#footerInfo_right {
    position:relative;
    width:50%;
    background: url(img/global/footerInfo_right_back.webp) center center no-repeat;
    background-size:cover;
    border-radius:0 100px 0 0;
    overflow:hidden;
    padding:150px 4% 0 4%;
}
#footerInfo_right h2 {color:#fff;font-size:3rem;}
#footerInfo_right h2 span {color:#fff;font-size:2rem;margin-left:20px;}
.footerInfo_right_text {
    color:#fff;
    line-height:2;
    margin-top:25px;
}
.footerInfo_right_arrow {
    position:absolute;
    top:50%;
    right:4%;
    margin-top:-30px; 
}
.footerInfo_right_arrow a {
    position:relative;
    content:'';
    display:block;
    width:60px;
    height:60px;
    border:1px solid #fff;
    border-radius:50%;
}
.footerInfo_right_arrow a::before {
    position:absolute;
    display: inline-block;
    content:'';
    top:50%;
    left:50%;
    margin:-3px 0 0 -4px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
}
#footerOther {
    max-width:1086px;
    margin:0 auto;
    padding:70px 30px;
}
#footerOther h2 {
    font-size:2.5rem;
    text-align:center;
}
#footerOther ul {
    display:flex;
    justify-content: center;
    margin-top:50px;
}
#footerOther ul li {
    width:470px;
    margin:0 20px;
}
#footerOther ul li a {display:block;}
#footerOther ul li .footerOther_text {
    line-height:2;
    margin-top:25px;
}
#footer {
    background:#fff;
    padding:70px 0;
}
.f_inner {
    display:flex;
    max-width:1086px;
    margin:0 auto;
    padding:0 30px;
}
.f_left {
    width:252px;
}
.f_left_list {
    display:flex;
    margin-top:25px;
}
.f_left_list li {
    width:30px;
    margin-right:15px;
}
.copy {
    font-size:1.3rem;
    margin-top:40px;
}
.f_right {
    width:calc(100% - 282px);
    display:flex;
    justify-content: space-around;
}
.f_right_link {}
.f_right_link li {
    margin-top:30px;
}
.f_right_link li:first-child {margin-top:0;}
.f_right_link li .f_right_subLink {
    margin-top:30px;
}
.f_right_link li .f_right_subLink a {
    position:relative;
    padding:0 0 0 15px;
}
.f_right_link li .f_right_subLink a::before {
    position:absolute;
    display: inline-block;
    content:'';
    top:50%;
    left:0;
    margin:-2px 0 0 0;
    width: 4px;
    height: 4px;
    border-top: 1px solid #656262;
    border-right: 1px solid #656262;
    transform: rotate(45deg);
}


/*== contents ==*/
.contents_title {
    position:relative;
    z-index:2;
    padding:100px 30px 0 30px;
}
#contents.page .contents_title h1,
#contents.archive_page .contents_title h1 {
    color:#2c8dbc;
    font-size:3.5rem;
}
.pan {
    font-size:1.2rem;
    margin-top:30px;
}
#main {
    position:relative;
    margin:100px 0;
}
#main::before {
    position:absolute;
    top:0;
    right:0;
    display:block;
    content:'';
    width:50%;
    height:100%;
    background:#fff;
}
.main_inner {
    position:relative;
    max-width:1086px;
    margin: 0 auto;
    padding:100px 4%;
    background:#fff;
    border-radius:100px;
}

#archive_main {
    position:relative;
    padding-bottom:100px;
}
#archive_main::before {
    position:absolute;
    z-index:1;
    content:'';
    display:block;
    top:-150px;
    right:0;
    width:70%;
    height:calc(100% + 100px);
    border-radius:100px 0 0 100px;
    background:#F3ECE6;
}


/*== column ==*/
.column_list {
    position:relative;
    z-index:2;
    display:flex;
    flex-wrap: wrap;
    max-width:1082px;
    margin:0 auto;
    padding:50px 30px;
}
#archive_main .column_list li {
    width:calc(100% / 3 - 30px);
    margin:50px 15px 0 15px;
}
.column_list li a {
    width:100%;
    display:block;
}
.column_list_thumbnail {
    position:relative;
    content:'';
    width:100%;
    height:280px;
    background: #fff;
    border-radius:20px;
}
.column_list_logo {
    position:absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width:75%;
}
.column_radio {
    position:absolute;
    bottom:10px;
    right:10px;
    background:#fff;
    font-size:1.3rem;
    background:#fff;
    border-radius:20px;
    padding:3px 15px;
}
.column_list_title {
    font-size:1.8rem;
    font-weight:700;
    margin-top:20px;
}

/*== News ==*/
.archive_news #archive_main {
   margin:100px 0;
    padding:0;
}
.archive_news_inner {
    position:relative;
    z-index:2;
    max-width:1086px;
    margin: 0 auto;
    padding:30px 4% 100px 4%;
    background:#fff;
    border-radius:100px;
}
.archive_news_inner::before {
    position:absolute;
    top:0;
    left:50%;
    display:block;
    content:'';
    width:50vw;
    height:100%;
    background:#fff;
}
#archive_main .news_list {
    position:relative;
    width:100%;
}
#archive_main .news_list li {
    display:flex;
    align-items: center;
    width:100%;
    padding:25px 0;
    border-bottom:1px solid #dfdfdf;
}
#archive_main .news_list li .news_list_date {
    display:block;
    color:#fff;
    text-align:center;
    background:#8dc9e6;
    font-size:1.3rem;
    width:120px;
    margin-right:20px;
    padding:4px 20px;
    border-radius:20px;
}
#archive_main .news_list li .news_list_title {width:calc(100% - 140px);}
#archive_main .news_list li a {text-decoration:underline;}

.archive_event .contents_title {
    position:relative;
    padding-bottom:80px;
}
.archive_event .contents_title::before {
    position:absolute;
    top:0;
    right:0;
    content:'';
    display:block;
    width:60%;
    height:100%;
    background:url(img/event/event_img00.webp) center top no-repeat;
    background-size:cover;
    border-radius:0 0 0 100px;
}
.archive_yobou .contents_title::before {
    background:url(img/event/event_img01.webp) center center no-repeat;
    background-size:cover;
}
.archive_bt .contents_title::before {
    background:url(img/event/event_img02.webp) center center no-repeat;
    background-size:cover;
}
.archive_seminar .contents_title::before {
    background:url(img/event/event_img03.webp) center center no-repeat;
    background-size:cover;
}
.archive_other .contents_title::before {
    background:url(img/event/event_img04.webp) center center no-repeat;
    background-size:cover;
}
.archive_title_read {
    line-height:2;
    width:35%;
    margin-top:50px;
}
.page .news_list_date {
    display:block;
    color:#fff;
    text-align:center;
    background:#8dc9e6;
    font-size:1.3rem;
    width:120px;
    margin-right:20px;
    padding:4px 20px;
    border-radius:20px;
}

/*== event ==*/
.archive_event_inner {
    position:relative;
    z-index:2;
}
.event_list {
    position:relative;
    z-index:2;
    max-width:1086px;
    margin:100px auto 0 auto;
    padding:1px 30px 30px 30px;
    background:#fff;
    border-radius:30px;
}
.event_list li {border-bottom:1px solid #dedede;}
.event_list li:last-child {border:none;}
.event_list li a {
    position:relative;
    display:block;
    padding:15px 0 15px 60px;
}
.event_reserve,
.event_noreserve {
    position:absolute;
    display:inline-block;
    top:30px;
    left:0;
    color:#fff;
    text-align:center;
    line-height:1.2;
    font-size:1.3rem;
    width:50px;
    height:50px;
    padding:10px 0;
    background:#ff8585;
    border-radius:50%;
}
.event_noreserve {background:#52a994;}
.event_list_con {
    display:flex;
    align-items: center;
    padding-top:20px;
}
.event_list_tag {
    display:flex;
    align-items: center;
    margin-left:0;
    margin-bottom:10px;
}
.archive_page .event_list_tag {margin-left:40px;}
.event_list_date,
.event_list_cate {
    display:flex;
    align-items: center;
}
.event_list_date {}
.event_list_date-1 {
    color:#fff;
    background:#8dc9e6;
    font-size:1.3rem;
    margin-right:12px;
    padding:3px 10px;
    border-radius:5px;
}
.event_list_date-3 {
    margin-left:20px;
    padding:3px 10px;
    border:1px solid #ddd;
    border-radius:3px;
}
.event_list_info {display:flex;align-items: center;width:100%;}
.event_list_shop,
.event_list_add {display:flex;align-items: center;}
.event_list_add {margin-left:30px;}
.event_list_shop dt,
.event_list_add dt {
    white-space: nowrap;
    font-size:1.3rem;
    padding:3px 10px;
    padding-right:10px;
    border:1px solid #d9d9d7;
    border-radius:5px;
}
.event_list_shop dd,
.event_list_add dd {
    padding-left:10px;
}
.event_list_cate {margin-left:20px;}
.event_list_cate-1 {
    color:#fff;
    background:#93cec0;
    font-size:1.3rem;
    margin-right:10px;
    padding:3px 10px;
    border-radius:5px;
}
.archive_event_cate {
    max-width:1086px;
    margin:60px auto;
    padding:0 30px;
}
.archive_event_cate ul {
    display:flex;
    justify-content: center;
}
.archive_event_cate ul li {
    width:200px;
    margin:0 5px;
}
.archive_event_cate ul li a {
    position:relative;
    display:block;
    color:#fff;
    text-align:center;
    width:100%;
    padding:10px 0;
    background:#2c8dbc;
    border:1px solid #2c8dbc;
    border-radius:30px;
    box-sizing:border-box;
}
.archive_event_cate ul li a::before {
    position:absolute;
    display: inline-block;
    content:'';
    top:50%;
    right:15px;
    margin:-3px 0 0 0;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
}
.archive_event_tag-Search {
    display:flex;
    max-width:1086px;
    margin:60px auto;
    padding:0 30px;
}
.archive_event_tag-Search dt {
    width:170px;
    margin:0 20px 0 0;
    padding:10px 20px 10px 0;
    border-right:1px solid #656262;
}
.archive_event_tag-Search dd {width:calc(100% - 150px);}
.archive_event_tag-Search dd ul {display:flex;flex-wrap: wrap;}
.archive_event_tag-Search dd ul li {margin:10px 10px 10px 0;}
.archive_event_tag-Search dd ul li a,
.archive_event_tag-Search dd ul li label span {
    position:relative;
    display:inline-block;
    width:100%;
    font-size:1.3rem;
    padding:5px 20px 5px 10px;
    border:1px solid #656262;
    border-radius:30px;
    box-sizing: border-box;
}
.archive_event_tag-Search dd ul li a::before,
.archive_event_tag-Search dd ul li label span::before {
    position:absolute;
    display: inline-block;
    content:'';
    top:50%;
    right:10px;
    margin:-2px 0 0 0;
    width: 4px;
    height: 4px;
    border-top: 1px solid #656262;
    border-right: 1px solid #656262;
    transform: rotate(45deg);
}
.archive_event_tag-Search dd ul li label input {
    position: absolute;
    opacity: 0;
}
.archive_event_tag-Search dd ul li label input:checked + span {
    color: #2c8dbc;
    background: #fff;
    border: 1px solid #2c8dbc;
}
.event_search_form {
    position:relative;
    z-index:2;
    display:flex;
    justify-content: flex-start;
    align-items: center;
    max-width:1086px;
    margin:0 auto;
    gap: 1rem;
}
.event_search_form_sp_row {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.event_search_text1 {
    width:calc(100% - 280px);
    padding:10px 20px;
    border:1px solid #ccc;
    box-sizing:border-box;
}
.event_search_text2 {
    -webkit-appearance: none;
    position:relative;
    color:#222;
    width:200px;
    padding:10px 20px;
    background:url(img/global/arrow_bottom.png) right 10px center no-repeat #fff;
    border:1px solid #ccc;
    box-sizing:border-box;
}
.event_search_btn {
    width:60px;
    padding:10px 0;
    color:#222;
    background:#f0f0f0;
    border:1px solid #ccc;
    box-sizing:border-box;
}
.event_list_title {color:#2c8cbc;font-size:2rem;font-weight:700;text-decoration:underline;margin-bottom:10px;}
.search_non {
    max-width:1086px;
    margin:100px auto 0 auto;
    padding:70px 60px;
    border-radius:50px;
    background:#fff;
}
.search_non_text {font-size:2rem;text-align:center;}
.event_page_reserve,
.event_page_noreserve {
    position:absolute;
    display:inline-block;
    top:50px;
    left:30px;
    color:#fff;
    padding:10px 20px;
    border-radius:5px;
}
.event_page_reserve {background:#FFA7A7;}
.event_page_noreserve {background:#52a994;}

/*-- btn --*/
#main .back_btn,
#archive_main .back_btn  {
    width:240px;
    margin:50px auto 0 auto;
}
.btn_nittei {
    text-align:center;
    margin:50px auto 0 auto;
}
#main .main_btn p {width:100%;margin-top:50px;text-align:center;}
#main .back_btn a,
#archive_main .back_btn a {
    position:relative;
    display:block;
    color:#2c8dbc;
    text-decoration:none;
    text-align:center;
    width:100%;
    padding:15px 0;
    border:1px solid #2c8dbc;
    border-radius:50px;
}
#main .main_btn p a,
.btn_nittei a {
    position:relative;
    display:inline-block;
    color:#2c8dbc;
    text-decoration:none;
    text-align:center;
    width:auto;
    padding:15px 50px 15px 40px;
    border:1px solid #2c8dbc;
    border-radius:50px;
}
/* button_color 
.btn_nittei a {color:#fff;background:#2c8dbc;}
*/
.btn_nittei a {
    color:#fff;
    background:#e97f31;
    border:1px solid #e97f31;
}
#main .back_btn a::before,
#archive_main .back_btn a::before,
#main .main_btn p a::before,
.btn_nittei a::before {
    position:absolute;
    display: inline-block;
    content:'';
    top:50%;
    right:20px;
    margin:-3px 0 0 0;
    width: 6px;
    height: 6px;
    border-top: 2px solid #2c8dbc;
    border-right: 2px solid #2c8dbc;
    transform: rotate(45deg);
}
.btn_nittei a::before {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}


/*-- ページャー  --*/
.wp-pagenavi {position:relative;z-index:2;display:flex;justify-content:center;width:100%;margin-top:50px;}
.wp-pagenavi .current,
.wp-pagenavi .page,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
    font-family:"Roboto","Noto Sans JP","メイリオ", sans-serif;
    line-height:47px;
    width:47px;
    height:47px;
    margin:0 5px;
    text-align:center;
    border-radius:50%;
    padding:0;
}
.wp-pagenavi .pages,
.wp-pagenavi .page,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
    text-decoration:none;
    background:none;
    transition: .5s ;
}
.wp-pagenavi .current {
    color:#fff;
    font-weight:700;
    background:#2c8dbc;
    border:none;
}
.wp-pagenavi .extend {
    line-height:47px;
    padding:0 10px;
    border:none;
}


/*== contact ==*/
#contents .form dl {
    display:flex;
    align-items: center;
    margin-top:40px;
}
.contact #contents #main dl dt {
    font-weight:700;
    width:240px;
}
#contents .form dl dd {width:calc(100% - 120px);}

.contact #contents #main dl dt p,
.contact #contents #main dl dd p {
    margin:0;
    padding:0;
}
.page dl dd input[type="text"],
.page dl dd input[type="tel"],
.page dl dd input[type="email"],
.page dl dd textarea {
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 1.5rem;
    margin: 5px 0;
    padding: 8px 3%;
}
#contents .form input[type=checkbox],
#contents .form input[type=radio] {transform: scale(1.3);margin-right:12px;}
#contents .form dl dd .wpcf7-list-item-label {
    font-size: 1.5rem;
}
#contents .form .send_btn {
    width:300px;
    margin:40px auto 0 auto;
    position: relative;
    display: block;
    text-align: center;
}
#contents .form .wpcf7-spinner {display:none;}
#contents .form .send_btn input[type="submit"] {
    cursor:pointer; 
    color: #fff;
    text-align: center;
    text-decoration: none;
    border: none;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    z-index: 2;
    display: block;
    font-size:2rem;
    font-weight:700;
    width:100%;
    padding: 20px 40px;
    background:#2c8dbc;
    border-radius: 40px;
}


/*== 目次 ==*/
#main .toc {
    border:1px solid #ccc;
    width:100%;
    padding:40px 60px;
    border-radius:50px;
}
#main .toc h2 {
    margin:0;
    border-top:none;
    border-bottom:1px solid #2c8dbc;
    font-size:2rem;
    margin:0;
    padding:0 0 20px 0;
}
#main .toc h2::before {display:none;}
#main .toc a {color:#656262;}
#main .toc .toc-level-3 {
    margin-left:20px;
}
#contents #main .toc .toc-level-2::after {background:#2c8dbc;}
#contents #main .toc .toc-level-3::after {
    top:50%;
    margin-top:-1px;
    width:10px;
    height:2px;
    border-radius:0;
}
#main .toc .toc-level-4 {
    margin-left:40px;
}
#contents #main .toc .toc-level-4::after {
    top:1rem;
    width:6px;
    height:6px;
    background:#aaa;
}


@media (hover: hover) {
    /*== header ==*/
    .h_logo a {transition: all .3s;}
    .h_logo a:hover {opacity:.6;}
    #g-nav ul li a {position:relative;}
    #g-nav ul li a::after {
        content: '';
        position: absolute;
        bottom: -5px;
        left: 0;
        width: 100%;
        height: 1px;
        background:#656262;
        transition: all .3s;
        transform: scale(0, 1);
        transform-origin: left top;
    }
    #g-nav ul li a:hover::after {transform: scale(1, 1);}
    #g-nav ul li.gnavi06 a::after,
    #g-nav ul li ul li a::after {display:none;}
    nav li.has-child ul li a {transition: all .5s;}
    nav li.has-child ul li a:hover,
    nav li.has-child ul li a:active{
        opacity: 1;
        background:#444;
    }
    #g-nav ul li.gnavi06 a {transition: all .5s;}
    #g-nav ul li.gnavi06 a:hover {background:#056594;}


    /*== footer ==*/
    #top a,
    #top a::before {transition: all .5s;}
    #top a:hover {background:#056594;}
    #top a:hover::before {margin:-10px 0 0 -4px}
    .footerInfo_right_arrow a,
    .footerInfo_right_arrow a::before {transition: all .5s;}
    .footerInfo_right_arrow a:hover {background:#fff;}
    .footerInfo_right_arrow a:hover::before {
        margin:-3px 0 0 4px;
        border-top:2px solid #2c8dbc;
        border-right:2px solid #2c8dbc;
    }
    .footerInfo_left_btn a,
    .footerInfo_left_btn a::before {transition: all .5s;}
    .footerInfo_left_btn a:hover {
        color:#fff;
        background:#2c8dbc;
    }
    .footerInfo_left_btn a:hover::before {
        right:10px;
        border-top:2px solid #fff;
        border-right:2px solid #fff;
    }
    #footerOther ul li a {background:#2c8dbc;}
    #footerOther ul li a img {transition: all .5s;}
    #footerOther ul li a:hover img {opacity:.8;}
    #footer .f_left_list li a {transition: all .5s;}
    #footer .f_left_list li a:hover {opacity:.5;}
    #footer .f_right_link li a {position:relative;}
    #footer .f_right_link li a::after {
        content: '';
        position: absolute;
        bottom: -5px;
        left: 0;
        width: 100%;
        height: 1px;
        background:#656262;
        transition: all .3s;
        transform: scale(0, 1);
        transform-origin: left top;
    }
    #footer .f_right_link li a:hover::after {transform: scale(1, 1);}


    /*== btn ==*/
    #main a {transition: all .5s;}
    #main a:hover {text-decoration:none;}
    #main .back_btn a,
    #archive_main .back_btn a,
    .back_btn a::before,
    #archive_main .back_btn a::before,
    #main .main_btn p a,
    #main .main_btn p a::before,
    .btn_nittei a,
    .btn_nittei a::before {transition: all .5s;}
    #main .back_btn a:hover,
    #archive_main .back_btn a:hover,
    #main .main_btn p a:hover {
        color:#fff;
        background:#2c8dbc;
    }
    .btn_nittei a:hover {
        color:#e97f31;
        background:#fff;
    }
   #main .back_btn a:hover::before,
   #archive_main .back_btn a:hover::before,
    #main .main_btn p a:hover::before {
        right:15px;
        border-top:2px solid #fff;
        border-right:2px solid #fff;
    }
    .btn_nittei a:hover::before {
        right:15px;
        border-top:2px solid #e97f31;
        border-right:2px solid #e97f31;
    }


    /*== event ==*/
    .archive_event_cate ul li a,
    .archive_event_cate ul li a::before,
    .archive_event_tag-Search dd ul li a,
    .archive_event_tag-Search dd ul li a::before,
    .archive_event_tag-Search dd ul li label span::before {transition: all .5s;}
    .archive_event_cate ul li a:hover {
        color:#2c8dbc;
        background:#fff;
    }
    .archive_event_cate ul li a:hover::before {
        right:8px;
        border-top: 2px solid #2c8dbc;
        border-right: 2px solid #2c8dbc;
    }
    .archive_event_tag-Search dd ul li a:hover,
    .archive_event_tag-Search dd ul li label span:hover {
        color:#2c8dbc;
        background:#fff;
        border: 1px solid #2c8dbc;
    }
    .archive_event_tag-Search dd ul li a:hover::before,
    .archive_event_tag-Search dd ul li label span:hover::before {
        right:4px;
        border-top: 1px solid #2c8dbc;
        border-right: 1px solid #2c8dbc;
    }

    .event_search_btn,
    .event_list li a,
    .event_list li a .event_list_title {transition: all .5s;}
    .event_list li a .event_list_title:hover {text-decoration:none;}
    .event_search_btn:hover {color:#fff;background:#333;}


    /*== column ==*/
    .column_list li a .column_list_thumbnail {transition: all .5s;}
    .column_list li a:hover .column_list_thumbnail {opacity:.7;}


    /*== contact ==*/
    #contents .form .send_btn input[type="submit"] {transition: all .5s;}
    #contents .form .send_btn input[type="submit"]:hover {background:#004263;}


    /*== news ==*/
    #archive_main .news_list li a {text-decoration:none;position:relative;}
    #archive_main .news_list li a::after {
        content: '';
        position: absolute;
        bottom: -5px;
        left: 0;
        width: 100%;
        height: 1px;
        background:#656262;
        transition: all .3s;
        transform: scale(0, 1);
        transform-origin: left top;
    }
    #archive_main .news_list li a:hover::after {transform: scale(1, 1);}

    .wp-pagenavi .page:hover,
    .wp-pagenavi .nextpostslink:hover,
    .wp-pagenavi .previouspostslink:hover {
        color:#fff;
        background:#2c8dbc;
        border:1px solid #2c8dbc;
    }
}
@media screen and (max-width: 1086px) {
    .event_list_con {display:block;}
    .archive_page .event_list_tag {margin-left:0;}
}
@media screen and (max-width: 1026px) {
    .gnavi01 {display:none;}
}
@media screen and (max-width: 940px) {
    .h_logo {width:200px;}
    #g-nav {width:calc(100% - 200px);margin-left:20px;}
    #g-nav ul li {margin-left:15px;}
}
@media screen and (max-width: 834px) {
    .sp_non,
    .ac_nav {display:none !important;}
    .gnavi01 {display:block;}

    /*== header ==*/
    header {height:14vw;padding:0;box-sizing:border-box;}
    header .header_inner {
        min-width: 100vw;
        padding:3vw 0;
    }
    header .h_logo {width:40vw;}
    #g-nav{
        position:fixed;
        z-index: 999;
        top:-120%;
        left:0;
        width:100%;
        height: 100vh;
        margin:0;
        background:#2c8dbc;
        transition: all 0.6s;
    }
    #g-nav.panelactive{
        top: 0;
    }
    #g-nav.panelactive #g-nav-list{
        /*ナビの数が増えた場合縦スクロール*/
        position: fixed;
        z-index: 999; 
        width: 100%;
        height: 100vh;/*表示する高さ*/
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }
    #g-nav ul {
        /*ナビゲーション天地中央揃え*/
        position: absolute;
        display:block;
        z-index: 999;
        top:50%;
        left:50%;
        transform: translate(-50%,-50%);
        width:92vw;
    }
    #g-nav li{
        list-style: none;
        text-align: center; 
        margin-left:0;
        border-bottom:1px solid #277297;
    }

    #g-nav li a{
        color: #fff;
        text-decoration: none;
        padding:5vw 0;
        display: block;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        font-weight: bold;
    }

    /*========= ボタンのためのCSS ===============*/
    .openbtn{
        display:block;
        position:fixed;
        z-index: 9999;
        top:10px;
        right: 10px;
        cursor: pointer;
        width: 50px;
        height:50px;
        background:#2c8dbc;
        border-radius:50%;
        box-sizing:border-box;
    }
    /*×に変化*/    
    .openbtn span{
        display: inline-block;
        transition: all .4s;
        position: absolute;
        left: 14px;
        height: 3px;
        border-radius: 2px;
        background-color: #fff;
        width: 45%;
    }
    .openbtn span:nth-of-type(1) {top:15px;}
    .openbtn span:nth-of-type(2) {top:23px;}
    .openbtn span:nth-of-type(3) {top:31px;}
    .openbtn.active span:nth-of-type(1) {
        top: 18px;
        left: 18px;
        transform: translateY(6px) rotate(-45deg);
        width: 30%;
    }
    .openbtn.active span:nth-of-type(2) {
        opacity: 0;
    }
    .openbtn.active span:nth-of-type(3){
        top: 30px;
        left: 18px;
        transform: translateY(-6px) rotate(45deg);
        width: 30%;
    }
    #g-nav ul li {margin:0;}
    #g-nav ul li.gnavi06 {
        margin-top:4vw;
        position:relative;
        top:auto;
        right:auto;
        transform:translate(0, 0);
        border:none;
    }
    #g-nav ul li.gnavi06 a {
        position:relative;
        color:#656262;
        padding:3vw 16vw;
        background:#fff;
        border-radius:30vw;
    }
    #g-nav ul li.gnavi06 a::before {
        position:absolute;
        display: inline-block;
        content:'';
        top:50%;
        right:3vw;
        margin-top:-3px;
        width: 6px;
        height: 6px;
        border-top: 2px solid #2c8dbc;
        border-right: 2px solid #2c8dbc;
        transform: rotate(45deg);
    }

    /*== footer ==*/
    #footerInfo {display:block;}
    #footerInfo_left {
        width:100%;
        border-radius:0 100px 0 0;
    }
    #footerInfo_right {
        width:100%;
        border-radius:0;
        padding:70px 4% 70px 4%;
    }
    #footerOther {padding:70px 4%;}
    #footerOther ul li {
        width:calc(100% / 2 - 20px);
        margin:0 10px;
    }
    .f_inner {
        display:block;
        width:100vw;
        padding:0 4vw;
        box-sizing:border-box;
    }
    .f_left {width:100%;}
    .f_left h1 {width:100%;text-align:center;}
    .f_left h1 img {width:300px;}
    .f_left_list {justify-content: center;}
    .f_left_list li {margin:0 10px;}
    .copy {text-align:center;}
    .f_right {
        display:block;
        width:100%;
        margin-top:40px;
    }
    .f_right_link {
        display:flex;
        flex-wrap: wrap;
    }
    .f_right_link li {
        width:44vw;
        margin:0 4vw 0  0;
        border-bottom:1px solid #dfdfdf;
    }
    .f_right_link li:nth-child(2n) {margin:0;}
    .f_right_link li a {display:block;padding:15px 0;}
    .f_right_link li .f_right_subLink {
        display:flex;
        flex-wrap: wrap;
        width:92vw;
        margin-top:0;
    }
    .f_right_link li .f_right_subLink a {padding:15px 0 15px 15px;}


    /*== contents ==*/
    .contents_title {padding:60px 30px 0 30px;}


    /*== column ==*/
    #archive_main .column_list li {
        width:calc(100% / 2 - 15px);
        margin:50px 30px 0 0;
    }
    #archive_main .column_list li:nth-child(2n) {margin:50px 0 0 0;}


    /*== event ==*/
    .event_list li {width:100%;}
    .event_list_date dt,
    .event_list_cate dt {display:inline-block;}
    .archive_event_cate ul {
        flex-wrap: wrap;
        width:420px;
        margin:0 auto;
    }
    .archive_event_cate ul li {margin-top:20px;}
    .event_list_info {display:block;}
    .event_list_add {margin:10px 0 0 0;}
}
@media screen and (max-width: 576px) {

    /*-- font --*/
    p,li,dt,dd,th,td,span,div {font-size:3.47vw;}
    #main h2,
    #archive_main .archive_news_inner h2 {
        font-size:5.33vw;
        margin-top:12.33vw;
        margin-bottom:4vw;
        padding-top:3vw;
    }
    #main h2::before,
    #archive_main .archive_news_inner h2::before {
        width:10vw;
        height:3px;
        border-radius:0 0 1px 1px;
    }
    #main h3 {
        font-size:4.66vw;
        margin-top:9.33vw;
        margin-bottom:4vw;
        padding:2vw 0;
    }
    #main h4 {
        font-size:4.33vw;
        margin-top:8.33vw;
        margin-bottom:4vw;
        padding:.5vw 0 .5vw 3vw;
        border-left:2px solid #2c8dbc;
    }
    #contents #main h5 {
        font-size:4vw;
        margin-top:7.33vw;
    }
    #main p {margin-top:4vw;}
    #contents #main ul,
    #contents #main ol {margin-top:4vw;}
    #contents #main ul li {
        margin-top:4vw;
        padding-left:4vw;
    }
    #contents #main ul li::after {
        position:absolute;
        top:1.7vw;
        width:2vw;
        height:2vw;
    }
    #contents #main ol {margin-left:4vw;}
    #contents #main ol li {margin:4vw 0 0 0;}
    #contents #main table {margin-top:4vw;}
    #contents #main table th,
    #contents #main table td {padding:2vw 3vw;}


    /*-- img --*/
    .page_thumbnail {
        max-width:750px;
        height:60vw;
        margin:0 auto 4vw auto;
        border-radius:5vw 0 0 0;
    }


    /*-- float --*/
    .alignleft,.alignright{width:40vw}
    .alignleft{padding:0 4vw 4vw 0}
    .alignright{padding:0 0 4vw 4vw}
    .aligncenter{margin:0 auto;text-align:center}


    /*== footer ==*/
    #top {
        right:3vw;
        bottom:16vw;
        width:10vw;
        height:10vw;
    }
    #top a {
        width:10vw;
        height:10vw;
    }
    #top a::before{
        margin:-.5vw 0 0 -.7vw;
        width: 1vw;
        height: 1vw;
        border-top: 2px solid #fff;
        border-left: 2px solid #fff;
        transform: rotate(45deg);
    }
    #footerInfo_left {
        padding:9.33vw 4vw 15vw 4vw;
        border-radius:10vw;
    }
    #footerInfo_left::before {
        right:2vw;
        width:40vw;
        height:28vw;
    }
    #footerInfo_left h2 {width:60vw;}
    .footerInfo_left_text {margin-top:4vw;}
    .footerInfo_left_btn {margin-top:4vw;}
    .footerInfo_left_btn a {
        padding:3vw 8vw 3vw 5vw;
        border-radius:6vw;
    }
    .footerInfo_left_btn a::before {right:3vw;}
    #footerInfo_right {
        padding:15vw 4vw;
    }
    #footerInfo_right h2 {font-size:5.33vw;}
    #footerInfo_right h2 span {font-size:3vw;margin-left:2vw;}
    .footerInfo_right_text {margin-top:4vw;}
    .footerInfo_right_arrow {
        position:absolute;
        top:50%;
        right:4vw;
        margin-top:-4.5vw; 
    }
    .footerInfo_right_arrow a {
        width:9vw;
        height:9vw;
    }
    .footerInfo_right_arrow a::before {
        margin:-.7vw 0 0 -1vw;
        width: 1vw;
        height: 1vw;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        transform: rotate(45deg);
    }


    #footerOther {padding:9.33vw 4vw;}
    #footerOther h2 {font-size:5.33vw;}
    #footerOther ul {
        display:block;
        margin:0;
    }
    #footerOther ul li {
        width:100%;
        margin:7.33vw 0 0 0;
    }
    #footerOther ul li .footerOther_text {margin-top:4vw;}
    #footer {padding:9.33vw 0 22.33vw 0;}
    #footer h1 img {width:60vw;}
    .f_left_list {margin-top:4vw;}
    .f_left_list li {
        width:8vw;
        margin-right:2vw;
    }
    .f_left_list li a {display:block;}
    .f_left_list li a img {width:100%;}
    .copy {
        font-size:3vw;
        margin-top:4vw;
    }
    .f_right {margin-top:6.33vw;}
    .f_right_link li a {padding:3vw 0;}
    .f_right_link li .f_right_subLink a {padding:3vw 0 3vw 5vw;}
    .f_right_link li .f_right_subLink a::before {
        margin:-.7vw 0 0 0;
        width: 2vw;
        height: 2vw;
    }


    /*== contents ==*/
    .contents_title {padding:10.33vw 4vw 0 4vw;}
    #contents.page .contents_title h1,
    #contents.archive_page .contents_title h1 {font-size:5.33vw;}
    .pan {
        font-size:3vw;
        margin-top:4vw;
    }
    #main {margin:12.33vw 0;}
    .main_inner {
        padding:12.33vw 4vw;
        border-radius:10vw 0 0 10vw;
    }
    #archive_main {padding-bottom:12.33vw;}
    #archive_main::before {
        top:-15vw;
        height:calc(100% + 10vw);
        border-radius:10vw 0 0 10vw;
        background:#F3ECE6;
    }


    /*== column ==*/
    .column_list {padding:5.33vw 4vw;}
    #archive_main .column_list li {
        width:calc(100% / 2 - 2vw);
        margin:7.33vw 4vw 0 0;
    }
    #archive_main .column_list li:nth-child(2n) {margin:7.33vw 0 0 0;}
    .column_list_thumbnail {
        height:40vw;
        border-radius:2vw;
    }
    .column_radio {
        bottom:2vw;
        right:2vw;
        font-size:3vw;
        border-radius:20vw;
        padding:1vw 2vw;
    }
    .column_list_title {
        font-size:3.47vw;
        margin-top:4vw;
    }


    /*== News ==*/
    .archive_news #archive_main {margin:12.33vw 0;}
    .archive_news_inner {
        padding:1px 4vw 12.33vw 4vw;
        border-radius:10vw 0 0 10vw;
    }
    #archive_main .news_list li {
        display:block;
        padding:4vw 0;
    }
    #archive_main .news_list li .news_list_date {
        display:inline-block;
        font-size:3vw;
        width:auto;
        margin-right:0;
        padding:1vw 4vw;
        border-radius:6vw;
    }
    #archive_main .news_list li .news_list_title {
        width:100%;
        margin-top:4vw;
    }
    .page .news_list_date {
        display:inline-block;
        font-size:3vw;
        width:auto;
        margin-right:0;
        padding:1vw 4vw;
        border-radius:6vw;
    }


    /*== event ==*/
    .archive_event .contents_title {padding:12.33vw 4vw 0 4vw;}
    .archive_event .contents_title::before {display:none;}
    .archive_title_read {
        width:100%;
        margin-top:6.33vw;
    }
    .archive_event_cate {width:92vw;margin:6.33vw 4vw;padding:0;}
    .archive_event_cate ul {width:92vw}
    .archive_event_cate ul li {width:44vw;margin:4vw 4vw 0 0;}
    .archive_event_cate ul li:nth-child(2n) {margin:4vw 0 0 0;}
    .event_list {
        margin:6.33vw auto 0 auto;
        padding:0 4vw;
    }
    .archive_event_tag-Search {
        display:block;
        margin:7.33vw auto 7.33vw auto;
        padding:0 4vw;
    }
    .archive_event_tag-Search dt {
        font-size:4vw;
        width:100%;
        margin:0 0 3vw 0;
        padding:0 0 3vw 0;
        border-right:none;
        border-bottom:1px solid #656262;
    }
    .archive_event_tag-Search dd {width:100%;}
    .archive_event_tag-Search dd ul li {margin-right:3vw;}
    .archive_event_tag-Search dd ul li a {
        font-size:3.47vw;
        padding:5px 6vw 5px 2vw;
    }
    .event_list li a {
        display:block;
        width:100%;
        padding:2vw 0 4vw 16vw;
        box-sizing:border-box;
    }
    .event_reserve,
    .event_noreserve {
        z-index:2;
        top:4vw;
        font-size:3.24vw;
        padding:2.33vw 0 0 0;
    }
    .event_list_thumbnail {
        width:100%;
        height:50vw;
        margin-bottom:4vw;
        margin-right:0;
        border-radius:0;
    }
    .event_list_con {width:100%;padding-top:2vw;}
    .event_list_tag {
        display:block;
        margin-bottom:0;
    }
    .event_list_cate,
    .event_list_shop,
    .event_list_add {margin:2vw 0 0 0;}
    .event_list_shop dt,
    .event_list_add dt {
        font-size:3vw;
        margin-right:2vw;
        padding:1vw 3vw;
        border-radius:1vw;
    }
    .event_list_shop dd,
    .event_list_add dd {
        padding-left:0;
    }
    .event_list_date-1,.event_list_cate-1 {
        text-align:center;
        font-size:3vw;
        width:20vw;
        margin-right:2vw;
        padding:1vw 3vw;
        border-radius:1vw;
    }
    .event_list_title {font-size:4vw;}
    .event_search_form {
        flex-wrap: wrap;
        padding:0;
        justify-content: center;
        align-items: center;
        gap: 0;
    }
    .event_search_form .event_search_form_sp_row {
        width: 100%;
    }
    .event_search_form .event_search_icon_end {
        display: none;
    }
    .event_search_text1,
    .event_search_text2 {
        font-size:3.47vw;
        width:100%;
        padding:3vw 4vw;
    }
    .event_search_text2 {margin:2vw 0 0 0;}
    .event_search_btn {
        font-size:3.47vw;
        width:60vw;
        margin:4vw;
        padding:3vw 4vw;
        border-radius:10vw;
    }
    .search_non {
        margin:12.33vw auto 0 auto;
        padding:7.33vw 4vw;
        border-radius:10vw;
    }
    .search_non_text {font-size:4vw;}
    .event_page_reserve,
    .event_page_noreserve {
        position:absolute;
        display:inline-block;
        top:2vw;
        left:4vw;
        padding:1vw 4vw;
    }

    /*-- btn --*/
    #main .back_btn,
    #archive_main .back_btn {
        width:60vw;
        margin:6.33vw auto 0 auto;
    }
    #main .main_btn p {margin:6.33vw auto 0 auto;}
    #main .back_btn a,
    #archive_main .back_btn a {
        padding:3vw 6vw;
        border-radius:50px;
        box-sizing:border-box;
    }
    #main .main_btn p a,
    .btn_nittei a {
        padding:3vw 9vw 3vw 7vw;
        border-radius:50px;
        box-sizing:border-box;
    }
    #main .back_btn a::before,
    #archive_main .back_btn a::before,
    #main .main_btn p a::before,
    .btn_nittei a::before {
        right:4vw;
        margin:-.8vw 0 0 0;
        width: 1.6vw;
        height: 1.6vw;
    }


    /*-- ページャー  --*/
    .wp-pagenavi {margin-top:6.33vw;}
    .wp-pagenavi .current,
    .wp-pagenavi .page,
    .wp-pagenavi .nextpostslink,
    .wp-pagenavi .previouspostslink {
        line-height:10vw;
        width:10vw;
        height:10vw;
        margin:0 2vw;
    }
    .wp-pagenavi .extend {
        line-height:10vw;
        padding:0 2vw;
    }


    /*== contact ==*/
    #contents .form dl {
        display:block;
        margin-top:6.33vw;
        padding:4vw 0;
        border-bottom:1px solid #ccc;
    }
    .contact #contents #main dl dt {width:100%;}
    #contents .form dl dd {margin-top:2vw;width:100%;}
    .page dl dd input[type="text"],
    .page dl dd input[type="tel"],
    .page dl dd input[type="email"],
    .page dl dd textarea {
        font-size: 3.47vw;
        margin: 5px 0;
        padding: 3vw 4vw;
    }
    #contents .form input[type=checkbox],
    #contents .form input[type=radio] {margin-right:1.2vw;}
    #contents .form dl dd .wpcf7-list-item-label {font-size: 3.47vw;;}
    #contents .form  .wpcf7-list-item {margin:4vw 0 0 4vw;}
    #contents .form .send_btn {
        width:60vw;
        margin:5.33vw auto 0 auto;
    }
    #contents .form .wpcf7-spinner {display:none;}
    #contents .form .send_btn input[type="submit"] {
        font-size:4vw;
        padding: 3vw 6vw;
        border-radius: 10vw;
    }


    /*== 目次 ==*/
    #main .toc {
        padding:6vw 6vw;
        border-radius:5vw;
    }
    #main .toc h2 {
        font-size:4.66vw;
        padding:0 0 4vw 0;
    }
    #main .toc .toc-level-3 {
        margin-left:2vw;
    }
    #contents #main .toc .toc-level-3::after {width:2vw;}
    #main .toc .toc-level-4 {
        margin-left:4vw;
    }
    #contents #main .toc .toc-level-4::after {
        top:2.33vw;
        margin-top:0;
    }


    /*== mobile ==*/
    #mobile_fix {
        position:fixed;
        z-index:100;
        display:flex;
        bottom:0;
        left:0;
        width:100vw;
        height:13vw;
    }
    #mobile_fix li {width:50vw;height:13vw;}
    #mobile_fix li a {display:block;color:#fff;text-align:center;line-height:13vw;font-size:3.76vw;}
    .mobile_fix_venue {background:#e97f31;}
    .mobile_fix_contact {background:#277297;}
    #mobile_fix li a img {width:8vw;margin:2.5vw auto;}

}

