/*
Theme Name: type-TN25
**FORMAT**
Author: TN
Version: 3.2, 2025.01
*/

@charset "UTF-8";
/*------------------------------------------------------------
	base
------------------------------------------------------------ */
@font-face {
    font-family: 'Noto Sans JP';
    font-weight: 100;
    src: url('font/notosans/NotoSansJP-Thin.ttf ') format("truetype");
	font-display: swap;
}
@font-face {
    font-family: 'Noto Sans JP';
    font-weight: 300;
    src: url('font/notosans/NotoSansJP-Light.ttf ') format("truetype");
	font-display: swap;
}
@font-face {
    font-family: 'Noto Sans JP';
    font-weight: 400;
    src: url('font/notosans/NotoSansJP-Regular.ttf ') format("truetype");
	font-display: swap;
}
@font-face {
    font-family: 'Noto Sans JP';
    font-weight: 500;
    src: url('font/notosans/NotoSansJP-Medium.ttf ') format("truetype");
	font-display: swap;
}
@font-face {
    font-family: 'Noto Sans JP';
    font-weight: 600;
    src: url('font/notosans/NotoSansJP-SemiBold.ttf ') format("truetype");
	font-display: swap;
}
@font-face {
    font-family: 'Noto Sans JP';
    font-weight: 700;
    src: url('font/notosans/NotoSansJP-Bold.ttf ') format("truetype");
	font-display: swap;
}
@font-face {
    font-family: 'Noto Sans JP';
    font-weight: 900;
    src: url('font/notosans/NotoSansJP-Black.ttf ') format("truetype");
	font-display: swap;
}

@font-face {
    font-family: 'Noto Serif JP';
    font-weight: 200;
    src: url('font/notoserif/NotoSerifJP-ExtraLight.ttf ') format("truetype");
	font-display: swap;
    font-style: normal;
}
@font-face {
    font-family: 'Noto Serif JP';
    font-weight: 400;
    src: url('font/notoserif/NotoSerifJP-Regular.ttf ') format("truetype");
	font-display: swap;
    font-style: normal;
}
@font-face {
    font-family: 'Noto Serif JP';
    font-weight: 500;
    src: url('font/notoserif/NotoSerifJP-Medium.ttf ') format("truetype");
	font-display: swap;
    font-style: normal;
}
@font-face {
    font-family: 'Noto Serif JP';
    font-weight: 700;
    src: url('font/notoserif/NotoSerifJP-Bold.ttf ') format("truetype");
	font-display: swap;
    font-style: normal;
}

@font-face {
    font-family: 'Zen Maru Gothic';
    font-weight: 700;
    src: url('font/zenmaru/ZenMaruGothic-Bold.ttf') format("truetype");
	font-display: swap;
}
@font-face {
    font-family: 'Zen Maru Gothic';
    font-weight: 900;
    src: url('font/zenmaru/ZenMaruGothic-Black.ttf') format("truetype");
	font-display: swap;
}


/*------------------------------------------------------------
	base
------------------------------------------------------------ */
* { box-sizing:border-box; }
html { font-size: 10px; webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: sans-serif; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; }
body { margin: 0; padding: 0; font: 15px/1.4 'Noto Sans JP', "Yu Gothic", YuGothic, "游ゴシック体", "Helvetica", "Lucida Grande", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Geneva", "Arial", "Verdana", sans-serif; height: 100%; background-color:#fff; color:#222; }
h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd,form,figure{ margin: 0px; padding: 0px; }
ul { list-style-type: none; }
img { border: none; }
input,textarea,select { font-size: 1em; }
form { margin: 0px; }
table {	border-collapse:collapse; font-size: 100%; border-spacing: 0; width: 100%;}
/*link*/
a { border:0; text-decoration:none; color: inherit; transition: all .2s ease-in-out; }
a:hover { text-decoration: none; color:inherit; }
.linkText { color:#09c; padding-top:5px; text-decoration:underline; line-height:2.2; }
.linkText:hover { color:#09c; }
/*text*/
h1, h2, h3, h4, h5, h6 { text-align: left; line-height:1.4; line-break: strict; font-weight: 600; }
h1 { font-size: 2vw; }
h2 { font-size: 3vw; }
h3 { font-size: 2.4vw; }
h4 { font-size: 2.1vw; }
h5 { font-size: 1.9vw; }
h6 { font-size: 1.8vw; }
p { font-weight: 400; font-size: 16px; line-height: 1.7; color: #222;}
.caption { font-size: calc(1em - 2px); line-height: 1.4;}
.textC { text-align:center !important; }
.textL { text-align:left !important; }
.textR { text-align:right !important; }
.fsM { font-size:18px; }
.bpb0 { margin:0 !important; padding:0 !important; border:0 !important; }
.indt { text-indent: -1em; padding-left: 1em;}
.minc { font-family: 'Noto Serif JP', serif; font-weight: 500;}
.itlc { font-style:italic; }
.obli { font-style:oblique; }
.rnn { font-family: 'Renner*', sans-serif;}
.zenmaru { font-family: 'Zen Maru Gothic', sans-serif; font-weight: 900;}
.zenmaru strong { font-weight: 900;}
.zenmaru span { font-size: calc(1em + 8px);}

/*strong*/
strong { font-weight: 700; color: var(--red1);}
b { color:#333; }
em, i { font-style: italic; }
.normal { font-weight:normal !important; }

/* IMG */
img { display:block; margin:0 auto; padding:0; border: 0; max-width:100%; }
img.center { display:block; margin:0 auto; }
img.left { float: left; margin: 0 15px 0 0; border: 0; }
img.right { float: right; margin: 0 0 0 15px; border: 0; }
a img { transition: all .2s ease-in-out; }
a:hover img { opacity:.70; }
.w100 { width:100%; }
.wMax100 { max-width:100%; }
.cR { border-radius:10px; }
img.bd999 { border:1px solid #999; }
/* clearfx */
.cf:before, .cf:after { content: ""; display: table; }
.cf:after{ clear: both; }
.cf { zoom: 1; } /* For IE 6/7 */

/* LIST */
ul { margin-bottom: 0; list-style: none outside; }
ol { margin-bottom: 0; list-style: decimal; margin-left: 2.2em; }
ul.square, ul.circle { margin-left: 2em; }
ul.square { list-style: square outside; }
ul.circle { list-style: disc outside; }
ul ul.circle, ul ul.square { margin-top: 4px; margin-bottom: 5px; }

/* HR */
hr { border-width: 1px 0 0 0; border-style: solid; border-color: #bdbdbd; height: 1px; margin: 2.5em 0;}
hr.dot { border-width: 1px 0 0 0; border-style: dotted; border-color: #444; height: 1px; }
hr.dash { border-width: 1px 0 0 0; border-style: dashed; border-color: #444; height: 1px; }

/* Margin */
.btmMgn0 { margin-bottom:0 !important; }
.btmMgn-s { margin-bottom:5% !important; }
.btmMgn-m { margin-bottom:7% !important; }
.btmMgn-l { margin-bottom:10% !important; }
.btmMgn-fnt { margin-bottom:.6em !important; }

.topMgn0 { margin-top:0 !important; }
.topMgn-s { margin-top:5% !important; }
.topMgn-m { margin-top:7% !important; }
.topMgn-l { margin-top:10% !important; }

/* Padding */
.btmPad0 { padding-bottom:0 !important; }
.btmPad-s { padding-bottom:5% !important; }
.btmPad-m { padding-bottom:7% !important; }
.btmPad-l { padding-bottom:10% !important; }

.topPad0 { padding-top:0 !important; }
.topPad-s { padding-top:5% !important; }
.topPad-m { padding-top:7% !important; }
.topPad-l { padding-top:10% !important; }

.all0 { margin:0 !important; padding:0 !important; border:0 !important; background:none !important; }

i { font-size:calc(1em + 2px); }

@media(min-width:1300px) {
    h1 { font-size: 30px; }
    h2 { font-size: 42px; }
    h3 { font-size: 32px; }
    h4 { font-size: 24px; }
    h5 { font-size: 22px; }
    h6 { font-size: 20px; }
}
@media(max-width:767px) {
    h1 { font-size: 2vw; }
    h2 { font-size: 5.8vw; }
    h3 { font-size: 5vw; }
    h4 { font-size: 4.5vw; }
    h5 { font-size: 4.2vw; }
    h6 { font-size: 4vw; }
    p { font-size: 1.4rem; }
    .caption { font-size : 1.2rem; }
    ul.square, ul.circle { margin-left: 1.5em; }
    hr { margin: 1.5em 0;}
}
@media(max-width:320px) {
    p { font-size: 1.3rem; }
}

/*------------------------------------------------------------
	BREADCRUMB
------------------------------------------------------------ */
#breadcrumb { padding: 1em; background: rgba(255,255,255,.5);}
#breadcrumb > div { display: flex; align-items: center; justify-content: flex-start; margin: 0 auto; font-size: 13px; line-height: 1em; width: 95%; margin: 0 auto;}
#breadcrumb > div, #breadcrumb a, #breadcrumb i { color: var(--bl2); }
#breadcrumb > div > i { margin: 0 .5em; }
#breadcrumb > div i { font-size: calc(1em + 3px); transition: all .2s ease-in-out;}
#breadcrumb > div a { display: block; position: relative; padding-right: .9em; margin-right: .5em;}
#breadcrumb > div a::after {
content: "\f105";
font-family: FontAwesome;
position: absolute;
top: 50%;
right: 0;
transform: translate(0%,-50%);
transition: all .2s ease-in-out;
color: var(--bl2);
display: block;
font-size: 15px;
}
#breadcrumb > div a i:hover, #breadcrumb > div a:hover { color: var(--bl0);}
@media(max-width:767px) {
    #breadcrumb { padding: .6em 0;}
    #breadcrumb > div { font-size: 11px;}
    #breadcrumb > div a { padding-right: .8em; margin-right: .4em;}
    #breadcrumb > div a::after {font-size: 13px;}
}

/*------------------------------------------------------------
	form
------------------------------------------------------------ */
#contact-mail, #c-cnfm { margin-top: 7%;}
#contact-mail > h3 { padding: 0 0 .5em; color: var(--bl1); text-align: center;}
#c-cnfm > h3, #c-thanks > h3 { color: var(--bl1); text-align: center; margin-bottom: .6em;}
.trvl-exps { border-radius: 10px; background: #f3f4e9; padding: 4%; width: 80%; margin: 4% auto 0;}
.trvl-exps h4, .trvl-exps p { text-align: center;}
.trvl-exps h4 { color: #d0aa6e!important;}

#contact-mail .policy { width: 60%; margin: 5% auto 0; padding: 5%; background: #fff;}
#contact-mail .policy h3 { font-size: 21px; padding-bottom: .6em; margin-bottom: 1em; border-bottom: 1px solid #999;}
#contact-mail .policy h5 { font-size: 17px; margin: 1em 0 0;}
#contact-mail .policy p { font-size: 14px;}
@media (min-width: 1300px) {
    #contact-mail .policy h3 { font-size: 24px;}
    #contact-mail .policy h5 { font-size: 18px;}
    #contact-mail .policy p { font-size: 15px;}
}

.thanks { margin-bottom:.5em; }
#inq .inwrapKokura { max-width: 880px; }
.forms { margin-top: 5%; padding: 4.5% 7% 7%; background: #fff;}
.forms table { width:100%; margin:0 auto;}
.forms th, .forms td { ; padding: 0; border:0; font-weight:normal; }
.forms th { width:300px; margin-bottom: .5em; text-align:left; font-weight: bold; color: var(--bl0);}
.forms th span { color: #fff; background: var(--red1); padding: 3px 10px; font-size: calc(1em - 3px); border-radius: 30px; display: inline-block; margin-left: .5em;}
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .forms th span { padding: 4px 10px 0; }
}
.forms td { width: calc(100% - 300px); padding-bottom: 1.4em;}
.forms td p { font-size: 12px; color: #009191; line-height:1.4; padding-top: .4em; text-align: left;}
.forms td .mwform-checkbox-field { display:block; margin-bottom:.5em; }
.forms .btns input { min-width: 40%; display: block; margin: 2em auto 1em;}
.mwform-checkbox-field label, .mwform-radio-field label { cursor:pointer; }
.mw_wp_form .horizontal-item + .horizontal-item { margin:.5em 0 0!important; }
.forms .btn.list.back { background:#ddd; border:0; margin-bottom:-4%; }
.mw_wp_form .error {
color: var(--red1) !important;
position: relative;
padding-top: .2em;
font-weight: 500!important;
}
.forms th,
.forms td input[type="text"],
.forms td input[type="email"],
.forms td textarea { border-radius: 8px;}
.forms td input[type="text"],
.forms td input[type="email"],
.forms td textarea { background: #f6f6f6;}
.forms .back {background: #ccc;}
.forms .back:hover {background: #999!important;}
.contact-confirm form > p.textC { display: none;}
#c-thanks { padding-top: 7%;}

.forms .f-pt2 { border-top: 1px solid #ddd; padding-top: 5%; margin-top: 2%; display: block;}
.forms .f-pt2 th { vertical-align: top;}

.forms .radioBtn td > span { display: block; margin-bottom: .5em;}
.forms .radioBtn th { vertical-align:top;}
.forms td.radio-tx, .forms td.radio-tx label { color: #333; font-weight: 500;}


@media(max-width:767px) {
    #contact-mail, #c-cnfm { padding: 10% 0;}
    .forms { margin-top: 7%; padding: 6%; }
    .forms th, .forms td { border: 0; width: 100%; max-width:98%; display:block; box-sizing:border-box; }
    .forms td { border:0; text-align:left;}
    .forms input[type="submit"] {-webkit-appearance: none; border:0; }
    .forms .btn.list { margin:10% auto 0; border: 1px solid #464c4e !important; border-radius: 6px !important;}
    .mwform-tel-field input[type="text"] { width:28%!important; }
    .forms td.tels { text-align:center; }
    .trvl-exps { padding: 5%; width: 100%; }
    #contact-mail .policy { width: 90%; margin: 8% auto 0; padding: 6% 8%; }
    #contact-mail .policy h3 { font-size: 4vw;}
    #contact-mail .policy h5 { font-size: 1.6rem;}
    .forms .btns { width: 100%; font-size: 1.8rem;}
    select { width: 100%;}
}

form { font-size:16px; line-height:1.2; font-weight:normal; }
form input { margin:0 auto; }
form label { margin:0; font-size:16px; line-height:1.2; font-weight:normal;}
input[type="radio"], input[type="checkbox"] { margin:0 5px 0 0; }
span label { margin-right:15px; }
textarea { width:100% !important; border-color:#ccc; }
.select-group {
position: relative;
display:block;
overflow: hidden;
box-sizing: border-box;
width: 100%;
margin:0;
padding: 0;
vertical-align: middle;
border:1px solid #ccc;
background-repeat: no-repeat;
}
.select-group select {
position: relative;
z-index: 1;
line-height: 1.8;
display: block;
width: 100%;
padding: .2em 1.2em;
color:#999;
font-size:16px;
border: none;
border-radius: 0;
background-color: transparent;
background-image: none;
box-shadow: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
cursor:pointer;
}
.select-group::after {
position: absolute;
top: 0;
right: 10px;
bottom: 0;
width: 0;
height: 0;
margin: auto;
content: '';
border-top: 8px solid #aaa;
border-right: 8px solid transparent;
border-left: 8px solid transparent;
}
.select-group::before {
position:absolute;
top:0;
right:0;
content: '';
border:20px solid #f2f2f2;
}
.select-group select option { color:#000; }
table.form { position:relative; width:100%; margin:0 auto; }
table.form th { width:35%; }
table.form td { padding:0; }
.page-template-page-contact-confirm .forms td > span { display: none!important;}
.page-template-page-contact-confirm .forms th,
.page-template-page-contact-confirm .forms td { padding: 1.2em 0; font-weight: 500;}
.page-template-page-contact-confirm .forms td label { font-weight: 500;}

input[type="text"], input[type="email"], textarea { width:99%; box-sizing: border-box; border:1px solid #ccc;-webkit-appearance: none; padding:.8em; margin-bottom: 6px; line-height:1; }

.agree { height: 200px; overflow: scroll; padding:1% 3% 2.5%; background:#fff; border:1px solid #ccc; margin:1% 2.5% 5%; }
.agree strong { color:#000; padding-top:1em; display:block; }
.agree a { color:#e1bd42; }

input[type="submit"] { display: inherit; margin:20px auto 0; border:0; box-shadow: none; transition: none; text-decoration:none !important; cursor:pointer; transition: all .2s ease-in-out; }
form .chec { display:block; text-align:center; cursor:pointer; }

@media(max-width:767px) {
form { font-size:16px; line-height:1.2; }
form input { width:96%; margin:0 auto; border-color:#bbb; }
form label { font-size:1.5rem; line-height:1.2; }
form label > input { width: auto; }
input[type="radio"] { margin:0 .4em 0 0; }
input[type="checkbox"] { margin:0; width:auto; }
span label { margin-right:0; }
input[type="text"], input[type="email"], textarea { font-size:16px; }

table.form { width:100%; }
table.form th, table.form td { border:0; font-size:1.6rem; line-height:1.2; display:block; width:100%; text-align:center; }
table.form td { margin:3% 0 10%;}
.page-template-page-contact-confirm .forms th { padding-bottom: 0;}
.page-template-page-contact-confirm .forms td { padding-top: 0;}
.agree { margin:5% 0 10%; padding:0 5% 5%; background:#fff; border:1px solid #ccc; }

}


/*------------------------------------------------------------
	SWIPER
------------------------------------------------------------ */
.swiper-container { width: 100%; height: 100%;}
.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white,
.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white { background: none;}
.swiper-button-next, .swiper-button-prev { background:none; border: 1px solid #fff; line-height: 1; border-radius: 50%; width: 40px; height: 40px; }
.swiper-button-next { right:30px; }
.swiper-button-prev { left:30px; }
.swiper-button-next:hover, .swiper-button-prev:hover { background:rgba(255,255,255,.2); }
.swiper-button-next::after, .swiper-button-prev::after {
content: "\f105";
font-family: FontAwesome;
position: absolute;
top: 46%;
right: 5px;
transform: translate(-50%, -50%);
transition: all .2s ease-in-out;
color: #fff;
font-size: 210%;
}
.swiper-button-prev::after{
content:"\f104";
right: inherit;
left:17px;
}
.swiper-pagination { position: relative; bottom: inherit;}
.swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction { position: relative; bottom: inherit; left: inherit;}
.swiper-pagination-bullet { width: 12px; height: 12px;}
.swiper-pagination-bullet-active { background: #2291d0;}
.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet { margin: 1em .6em;}

@media(max-width:767px) {
    .swiper-button-next, .swiper-button-prev { width: 34px; height: 34px; top: 60%;}
    .swiper-button-next::after, .swiper-button-prev::after { font-size: 180%; right: 4px;}
    .swiper-button-prev::after{ left: 16px;}
    .swiper-button-next { right:20px;}
    .swiper-button-prev { left:20px;}
}


/*------------------------------------------------------------
	320px
------------------------------------------------------------ */
@media(max-width:320px) {
.col2 li, .col2 li:nth-child(2n) { position:relative; width:94%; }
.blogs li p.cate { font-size:1.1rem; padding:.3em .6em; }
.small-container { padding-bottom: 200%; /* 高さ */ }
input[type="submit"], .inqBtn { font-size:1.6rem; }
img.logo { float:none !important; margin:0 auto 0; display:block; }
p.footInfo { padding:0; }
}

/*------------------------------------------------------------
	others
------------------------------------------------------------ */
@media(min-width:767px) {
	.onlySp { display:none !important; }
}
@media(max-width:767px) {
	.onlyPc { display:none !important; }
}
@media(max-width:411px) {
	.small-container { padding-bottom: 172%; /* 高さ */ }
}
