@charset "UTF-8";

*{margin:0;padding:0;box-sizing:border-box;}
html{height:100%;scroll-behavior:smooth;scroll-padding-top:80px;}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal;}
ol,ul,li{list-style:none;}
caption,th{text-align:left;}
q:before,q:after{content:''}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:text-top;font-size:70%;position:relative;top:-0.5em;}
sub{vertical-align:text-bottom;font-size:70%;position:relative;top:0.5em;}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}
legend{color:#222;}
object,embed{margin:0;vertical-align:top;}
img,a{vertical-align:top;}
i{font:inherit;}
video{margin:0;padding:0;border:0;outline:0;font-size:100%;line-height:0;vertical-align:baseline;background:transparent;}
article,aside,dialog,figure,footer,header,hgroup,nav,section,main{display:block;}

@media only screen and (max-width: 1023px) {

html{scroll-padding-top:20px;}

}

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

a[href^="tel:"] {
cursor:default;
pointer-events:none;
text-decoration:none;}

}

body {
text-align:left;
font-size:17px;
line-height:1.7;
color:#222;
background:#fff;
font-family:"Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
-webkit-text-size-adjust:100%;}

@media only screen and (max-width:640px) {

body {
font-size:15px;
line-height:1.7;}

}

h1 , h2 , h3 , h4 , h5 , h6 , table {
font-size:100%;
line-height:1.7;
font-weight:normal;}

.gothic {
font-family:"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"游ゴシック Medium",YuGothic,YuGothicM,sans-serif !important;}
.mincho {
font-family:"Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;}

img {
max-width:100%;
height:auto;}
table {
max-width:100%;}
ol {
margin:0 0 0 20px;}
ol li {
padding:3px 0;
list-style:decimal;
line-height:1.55;}
/*
dl {
text-align:left;
margin:1.1em 0;
display:flex;
flex-wrap:wrap;
width:100%;
line-height:1.55;}
dt {
padding:3px 0;
width:20px;
white-space:nowrap;}
dd {
padding:3px 0;
width:calc(100% - 20px);}
*/
a:link {
color:#600;
outline:none;
text-decoration:none;
transition:color 0.25s;}
a:visited {
color:#600;
outline:none;
text-decoration:none;}
a:hover {
color:#900;
outline:none;
text-decoration:none;}

hr {
clear:both;
margin:1.0em 0;
border:0;
height:1px;
border-bottom:1px solid rgba(0,0,0,0.4);}

.aligncenter {
text-align:center;
display:block;
margin:0 auto;}
.alignleft {
float:left;
margin:3px 33px 33px 0;}
.alignright {
float:right;
margin:3px 0 33px 33px;}

@media only screen and (max-width:640px) {

.alignright , .alignleft {
float:none;
text-align:center;
display:block;
margin:0 auto 33px;}

}

.block {
margin:2em 0 0 0;
padding:1.6em;
background:url(../../images/bg03.jpg) center center / 240px;
border-radius:10px;}
.block p {
margin-bottom:0 !important;}
blockquote {
margin:2em 0 0 0;
padding:1.6em;
background:url(../../images/bg03.jpg) center center / 240px;
border-radius:10px;}
blockquote p {
margin-bottom:0 !important;}

.clearfix:before , .clearfix:after {
display:table;
content:" ";}
.clearfix:after {
clear:both;}

.col-flex {
display:-webkit-box;
display:-moz-box;
display:-ms-box;
display:-webkit-flexbox;
display:-moz-flexbox;
display:-ms-flexbox;
display:-webkit-flex;
display:-moz-flex;
display:-ms-flex;
display:flex;
-webkit-box-lines:multiple;
-moz-box-lines:multiple;
-webkit-flex-wrap:wrap;
-moz-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;}

.youtube {
position:relative;
padding-bottom:56.25%;
height:0;
overflow:hidden;}
.youtube iframe {
position: absolute;
top:0;
left:0;
width:100%;
height:100%;}

/*  bg  =============================*/

.bg-gray {
background:url(../../images/bg02.jpg) center center / 240px;}
.bg-beige {
background:url(../../images/bg03.jpg) center center / 240px;}
.bg-black {
background:url("../../images/bg_black.jpg") center center / cover;}

/*  ttl  =============================*/

.ttl-00 {
text-align:left;
margin-top:-2.25em;}
.ttl-00 .ttl-txt {
font-family:"Cormorant", serif;
font-size:840%;
line-height:1.15;
font-weight:500;
color:rgba(0,0,0,0.2);
letter-spacing:-0.01em;
white-space:nowrap;
transform:translate(-4.5%,0);}
.ttl-00 .ttl-txt.ttl-txt-s {
font-size:600%;}
.ttl-01 {
text-align:left;
position:relative;
margin:0.75em 0 2.1em 0;}
.ttl-01::before {
content:"";
position:absolute;
left:0;
top:50%;
width:100%;
height:1px;
background:linear-gradient(90deg, #900, #000);}
.ttl-01 .ttl-txt {
font-family: "Noto Serif JP", serif;
display:inline-block;
padding:0 0.3em;
font-size:242%;
line-height:1.15;
font-weight:500;
letter-spacing:0.0em;
background:#fff;
white-space:nowrap;
transform:translate(-0.3em,0);}
.ttl-02 {
font-family: "Noto Serif JP", serif;
margin:0 0 0.2em 0;
font-size:242%;
line-height:1.15;
font-weight:500;
letter-spacing:0.0em;
white-space:nowrap;
transform:translate(0,-50%);}
.ttl-03 {
font-family: "Noto Serif JP", serif;
margin:1.1em 0;
padding:0.03em 0 0.16em 0.44em;
font-size:156%;
font-weight:600;
line-height:1.25;
border-left:5px solid #800;}
.ttl-04 {
font-family: "Noto Serif JP", serif;
margin:1.1em 0;
padding:0 0 0.25em 0;
font-size:140%;
font-weight:500;
line-height:1.3;
border-bottom:1px solid rgba(0,0,0,0.5);}
.ttl-05 {
font-family: "Noto Serif JP", serif;
margin:1.1em 0;
font-size:140%;
line-height:1.3;
font-weight:bold;}
.ttl-06 {
text-align:center;
margin:2em 0 0 0;
padding:1.1em 0;
font-weight:normal;
border-top:1px solid rgba(0,0,0,0.5);
border-bottom:1px solid rgba(0,0,0,0.5);}

@media only screen and (max-width:640px) {

.ttl-00 .ttl-txt {
font-size:24vw;
transform:translate(-3%,0);}
.ttl-00 .ttl-txt.ttl-txt-s {
font-size:16vw;}
.ttl-01 .ttl-txt {
padding:0 0.2em;
font-size:8vw;
transform:translate(-0.2em,0);}
.ttl-02 {
font-size:8vw;}
.ttl-03 {
font-size:132%;}
.ttl-04 {
font-size:124%;}
.ttl-05 {
font-size:124%;}

}

/*  table  =============================*/

.tbl-scroll {
overflow:auto;}
.tbl-scroll::-webkit-scrollbar {
height:10px;}
.tbl-scroll::-webkit-scrollbar-track {
background: #F1F1F1;}
.tbl-scroll::-webkit-scrollbar-thumb {
background: #BCBCBC;}
.tbl-scroll table {
width:100%;
min-width:375px;}

.tbl-annotation {
text-align:right;
margin:-1.0em 0 0.5em 0;
font-size:84%;
line-height:1.2;}

table.tbl-01 {
width:100%;
display:block;
border:1px solid #999;
border-collapse:collapse;}
table.tbl-01 tbody {
width:100%;
display:table;}
table.tbl-01 th {
text-align:center;
padding:1em 0.7em;
font-weight:normal;
font-size:84%;
line-height:1.5;
white-space:nowrap;
height:auto !important;
background:#f3f0eb;
border:1px solid #999;}
table.tbl-01 td {
padding:1em 0.7em;
font-size:84%;
line-height:1.5;
white-space:nowrap;
height:auto !important;
background:#fff;
border:1px solid #999;}

/*  form  =============================*/

table.form-tbl {
margin:2.75em 0;
width:100%;
border-top:1px solid #fff;
box-shadow:0 0 7px 0 rgba(0,0,0,0.3);}
table.form-tbl tr:nth-child(even){
border-bottom:1px solid #fff;
background:#efead7;}
table.form-tbl tr:nth-child(odd){
border-bottom:1px solid #fff;
background:#f3f1e8;}
table.form-tbl th {
text-align:center;
padding:20px 15px;
width:25%;
line-height:1.3;
font-weight:normal;
color:#222;}
table.form-tbl td {
text-align:left;
padding:20px 15px;
color:#222;}
table.form-tbl .hissu , table.form-tbl .notice {
margin:7px 0 0 0;
font-size:80%;
line-height:1.3;
color:#900;}
table.form-tbl input , table.form-tbl textarea {
font-size:16px!important;
color:#222;
background:#fff;
padding:0.4em;
border:1px solid #aaa;
border-radius:5px;}
table.form-tbl input[type="checkbox"]{
display:none;}
table.form-tbl input[type="checkbox"]+label{
cursor:pointer;
display:inline-block;
position:relative;
padding:0 0 0 30px;
line-height:20px;}
table.form-tbl input[type="checkbox"]+label::before{
content:"";
position:absolute;
display:block;
width:16px;
height:16px;
left:0;
top:50%;
transform:translate(0,-50%);
border:2px solid #aaa;
background:#FFF;
border-radius:3px;}
table.form-tbl input[type="checkbox"]:checked+label{
color:#900;}
table.form-tbl input[type="checkbox"]:checked+label::before{
border:2px solid #900;
background:#900;
border-radius:3px;}
table.form-tbl input[type="checkbox"]:checked+label::after{
content:"";
position:absolute;
display:block;
width:10px;
height:5px;
left:4px;
top:50%;
transform:translate(0,-70%) rotate(-45deg);
border-bottom:3px solid #fff;
border-left:3px solid #fff;}

.width99 {width:99%!important;}
.width66 {width:66%!important;}
.width33 {width:33%!important;}
.width11 {width:11%!important;}

.form-error {
margin:2.75em 0;
line-height:2.4;
color:#900;}
.form-submit {
text-align:center;
margin:2.75em 0;}
.form-submit input {
-webkit-appearance:none;
cursor:pointer;
margin:0 5px;
padding:0 3.5em;
border-style:none;
font-size:100%;
line-height:60px;
color:#fff;
background:#7f292d;
border-bottom:4px solid #56080c;
border-radius:8px;
transition:0.25s;}
.form-submit input:hover {
background:#900;
border-bottom:4px solid #600;}
.form-submit input.gray {
color:#333;
background:#ccc;
border-bottom:4px solid #888;}
.form-submit input.gray:hover {
background:#eee;
border-bottom:4px solid #999;}

@media only screen and (max-width:767px) {

table.form-tbl th {
text-align:left;
display:block;
width:100%;
padding:15px;}
table.form-tbl td {
display:block;
width:100%;
padding:15px;
font-size:90%;
background:#fff;}
table.form-tbl th .hissu {
display:inline;
margin:0 0 0 8px;}

}

/* height ===================*/

.ht00 {margin-top:0px !important;}
.ht10 {margin-top:10px !important;}
.ht20 {margin-top:20px !important;}
.ht30 {margin-top:30px !important;}
.ht40 {margin-top:40px !important;}
.ht50 {margin-top:50px !important;}
.ht60 {margin-top:60px !important;}
.ht70 {margin-top:70px !important;}
.ht80 {margin-top:80px !important;}
.ht90 {margin-top:90px !important;}
.ht100 {margin-top:100px !important;}
.ht120 {margin-top:120px !important;}
.ht180 {margin-top:180px !important;}

@media only screen and (max-width:1023px) {

.ht20 {margin-top:2% !important;}
.ht30 {margin-top:3% !important;}
.ht40 {margin-top:4% !important;}
.ht50 {margin-top:5% !important;}
.ht60 {margin-top:6% !important;}
.ht70 {margin-top:7% !important;}
.ht80 {margin-top:8% !important;}
.ht90 {margin-top:9% !important;}
.ht100 {margin-top:10% !important;}
.ht120 {margin-top:12% !important;}
.ht180 {margin-top:18% !important;}

}

@media only screen and ( max-width:767px) {

.ht20 {margin-top:15px !important;}
.ht30 {margin-top:23px !important;}
.ht40 {margin-top:30px !important;}
.ht50 {margin-top:38px !important;}
.ht60 {margin-top:45px !important;}
.ht70 {margin-top:53px !important;}
.ht80 {margin-top:60px !important;}
.ht90 {margin-top:68px !important;}
.ht100 {margin-top:75px !important;}
.ht120 {margin-top:90px !important;}
.ht180 {margin-top:135px !important;}

}

/* btn ===================*/

.btn {
transition:all .3s;
filter:alpha(opacity=100)!important;
-moz-opacity:1!important;
opacity:1!important;}
.btn:hover {
filter:alpha(opacity=60)!important;
-moz-opacity:0.6!important;
opacity:0.6!important;}

a.btn-link {
text-align:center;
position:relative;
display:inline-block;
margin:2em auto 0;
padding:0 3.2em 0 3em;
line-height:45px;
border:1px solid #222;
color:#222;
white-space:nowrap;
transition:0.25s;}
a.btn-link:hover {
background:#222;
color:#fff;}
a.btn-link::after {
content:"";
position:absolute;
z-index:2;
top:50%;
right:10px;
width:7px;
height:7px;
border-bottom:1px solid #222;
border-right:1px solid #222;
transform:translate(0,-50%) rotate(-45deg);
transition:0.25s;}
a.btn-link:hover::after {
border-bottom:1px solid #fff;
border-right:1px solid #fff;}

@media only screen and (max-width:640px) {

a.btn-link {
display:block;
padding:0 5px 0 0;}

}

/* thanks-error ================*/

.thanks-error {
text-align:center;}
.thanks-error h2 {
text-align:center;
font-family: "Noto Serif JP", serif;
margin:0 0 0.75em 0;
font-size:228%;
line-height:1.3;
font-weight:500;}
.thanks-error p {
margin-bottom:1em;}

@media only screen and (max-width:640px) {

.thanks-error {
text-align:left;}
.thanks-error p br {
display:none;}

}

/* post ================*/

.post {
text-align:left;}
.post .entry-title {
position:relative;
margin:0 0 0.5em 0;
padding:0 0 0.15em 0;
font-size:236%;
line-height:1.3;
font-weight:bold;
overflow:hidden;}
.post .entry-title::before {
content:"";
position:absolute;
width:100%;
bottom:0;
border-bottom:1px solid #800;}
.post .entry-title::after {
content:"";
position:absolute;
width:100%;
bottom:0;
border-bottom:1px solid #222;}
.post .date {
margin:0 0 35px 0;
font-size:84%;
line-height:1.2;}
.post .body {}
.post .body p {
margin-bottom:1.1em;}

@media only screen and (max-width:640px) {

.post .entry-title br {
display:none;}

}
