/*
Theme Name: type-TN22
**FORMAT**
Author: TN
Version: 2.1, 2022.01
*/

@charset "UTF-8";

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

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


/*------------------------------------------------------------
	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", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Geneva", "Arial", "Verdana", sans-serif; height: 100%; background-color:#fff; color:#222;  font-weight: 500;}
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:#FF3D5E; padding-top:5px; text-decoration:underline; line-height:2.2; }
.linkText:hover { color:#FF3D5E; }
/*text*/
h1, h2, h3, h4, h5, h6 { text-align: left; line-height:1.6; line-break: strict; font-weight: 700; }
h1 { font-size: 2vw; }
h2 { font-size: 3vw; }
h3 { font-size: 2.4vw; }
h4 { font-size: 2.1vw; }
h5 { font-size: 1.7vw; }
h6 { font-size: 1.6vw; }
p { font-weight: normal; font-size: 16px; line-height: 1.7;}
.caption { font-size : calc(1em - 2px); color: #666;}
.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:游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif; }
.itlc { font-style:italic; }
.obli { font-style:oblique; }
.rnn { font-family: 'Renner*', sans-serif;}

/*strong*/
strong { font-weight: bold; }
b { color:#333; }
em, i { font-style: italic; }
.normal { font-weight:normal !important; }
.mrkr { padding: 0 .2em; background:linear-gradient(transparent 60%, #fff171 0%);}

/* 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; }

dl { display: flex; align-items: flex-start; justify-content: space-between;}
dl dt, dl dd { width: 48%;}

/* HR */
hr { border-width: 1px 0 0 0; border-style: solid; border-color: #bdbdbd; height: 1px; margin: 1.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: 44px; }
    h3 { font-size: 27px; }
    h4 { font-size: 24px; }
    h5 { font-size: 20px; }
    h6 { font-size: 18px; }
}
@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; }
    dl { flex-direction: column; justify-content: center;}
    dl dt, dl dd { width: 100%;}
    dl dd { margin-top: 6%;}
}
@media(max-width:320px) {
    p { font-size: 1.3rem; }
}

/*------------------------------------------------------------
	BREADCRUMB
------------------------------------------------------------ */
#breadcrumb { padding: 1em; background: #fff; border-bottom: 1px solid #9ce0d3;}
#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: #73C6B6; }
#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: #9ce0d3;
display: block;
font-size: 15px;
}
#breadcrumb > div a i:hover, #breadcrumb > div a:hover { color: #9ce0d3;}
@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
------------------------------------------------------------ */
.policy h4, .policy h5, .policy p { text-align:left; margin-bottom:.5em; letter-spacing: 0;}
.policy h4 { font-size:14px;}
.policy h5 { font-size:13px; margin-top:1.5em; }
.policy p { font-size:12px; line-height: 1.6;}
.policy p.listP { text-indent: -1.3em; padding-left: 1.3em; margin-bottom: 1.4em;}
.policy {
width:80%;
height: 200px;
overflow: auto;
padding: 1.5% 2%;
background: #fff;
border: 1px solid #ccc;
margin:1% auto 5%;
box-sizing:border-box;
}
.thanks { margin: 1em auto .5em!important; }
.mw_wp_form_complete { padding-top:10%; }
.form { padding-top: 2%;}
.form table { width:100%; margin:5% auto; background: #fff;}
.form th, .form td { border:25px solid #fff; font-weight:normal; }
.form th { width:30%; text-align:center; background:#edf6fb; padding:.8em;}
.form th span { color:#2291d0; padding-left:.2em; }
.form td .mwform-checkbox-field { display:block; margin-bottom:.5em; }
.mwform-checkbox-field label, .mwform-radio-field label { cursor:pointer; }
.mw_wp_form .horizontal-item + .horizontal-item { margin:0 0 .5em !important; }
.form .btn.list.back { background:#ddd; border:0; margin-bottom:-4%; }
.mw_wp_form .error {
color: #e14 !important;
position: relative;
padding-top: .2em;
}
@media(max-width:767px) {
    .policy h4, .policy h5, .policy p { text-align:left; margin-bottom:.5em; }
    .policy h4 { font-size:1.5rem;}
    .policy h5 { font-size:1.3rem; margin-top:1.5em; }
    .policy p { font-size:1.2rem; }
    .policy {
    width:90%;
    height: 200px;
    padding: 1.5% 3%;
    margin-top:2%;
    }
    .form { padding-top: 5%;}
    .form table { margin-top:10%; }
    .form th, .form td {border:12px solid #fff; width:100%; display:block; box-sizing:border-box; text-align:center; }
    .form td { border-top:0; text-align:left; }
    .form input[type="submit"] {-webkit-appearance: none; }
    .form .btn.list { margin:10% auto 0; border: 1px solid #464c4e !important; border-radius: 6px !important;}
    .mwform-tel-field input[type="text"] { width:25%; }
}

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; }
table.form td span { }

input[type="text"], input[type="email"], textarea { width:99%; box-sizing: border-box; border:1px solid #ccc; border-radius: 5px; -webkit-appearance: none; padding:.8em; line-height:1; color: #333;}
textarea { line-height: 1.4;}
input[type="text"]:focus, input[type="email"]:focus, textarea:focus { outline:2px solid #2291d0!important; background: #f4f9fd;}
.mwform-tel-field input[type="text"], .mwform-zip-field input[type="text"] {display: inline-block; width: auto;}
.mwform-zip-field input[type="text"] { margin-bottom: .5em;}

.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; }

.entry-form-thanks .posthead .inBoxes,
.contact-thanks .posthead .inBoxes { margin: 0 auto; padding: 0; border: 0;}

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; color: #fff; background: #2291d0; padding: 1em 3em; font-weight: 500; min-width: 220px;}
input[type="submit"]:hover { color: #fff; background: #1b4c93; font-weight: 500;}
input.back[type="submit"] { background: #ccc; }
input.back[type="submit"]:hover { color: #fff; background: #999;}
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%;}

.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: var(--main);}
.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;}
.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%; /* 高さ */ }
}
@media (min-width: 751px) {
    a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
    }
}
