/*--------------------------------------------------------------
Theme Name: taniplate HP
	Author: S.Tanio
	Author URI:
--------------------------------------------------------------*/
@charset "UTF-8";
/*--------------------------------------------------------------
必須項目
--------------------------------------------------------------*/
/* フォント */
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&display=swap');
/* カスタムプロパティなど定義 */
/*@import url("./root.css");*/

/*--------------------------------------------------------------
オプションの読み込み
--------------------------------------------------------------*/
/*@import url("./hamburger-side.css");*//* ハンバーガーメニュー */
/*@import url("./contact-form-7.css");*//* Contact Form 7カスタマイズ */
/*@import url("./contact-form.css");*//* MW WP Form カスタマイズ */
/*--------------------------------------------------------------
メモ
<a>タグは個別に設定しない限り、全体設定にて"block"要素にしている。
フォントサイズはremで指定する。1rem=16rem
レスポンシブによる値の切り替えはroot.cssに記述する。
文字色は不透明で、背景色だけ透過(透明)させたい時もこれ

background-color: transparent;
または
background-color:rgba(0,0,0,0);
--------------------------------------------------------------*/

/*--------------------------------------------------------------
各デフォルト設定
--------------------------------------------------------------*/
/* htmlタグ(後で設定されたもので上書きされる)
--------------------------------------------------------------*/
html {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	font-size: 62.5%;
	scroll-behavior: smooth;/* 上に戻るボタンでスムーススクロールして戻る時などに使用 */
}
/* bodyタグ(後で設定されたもので上書きされる)
--------------------------------------------------------------*/
body {
	color: #000000;		/* 文字色 */
	/*font-family: "Noto Serif JP",'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;*/
	font-family: "Noto Sans JP",'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
						/* フォントの種類 */
	background:#FFFFFF;	/* 背景色 */
	font-size:1.6rem;	/* 16px*/
	line-height: 2;		/* 行間 */
	font-weight: 400;	/* フォントの太さ */
	margin:0;
	padding:0;
}
/* hタグの設定(後で設定されたもので上書きされる)
--------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
	margin-top: 0;
	margin-bottom: 1rem;
	letter-spacing: 0.1em; /* 水平方向字間スペース */
	font-weight: normal;
}

/* 文字サイズ、行間、水平方向字間スペース
rem:ルート要素のフォントサイズを基準とした相対的な値
--------------------------------------------------------------*/
h1 { font-size: 3.2rem; line-height: 1.2;  letter-spacing: -.1rem;}
h2 { font-size: 3.0rem;line-height: 1.25; letter-spacing: -.1rem; }
h3 { font-size: 2.8rem; line-height: 1.3;  letter-spacing: -.1rem; }
h4 { font-size: 2.4rem; line-height: 1.35; letter-spacing: -.08rem; }
h5 { font-size: 1.8rem; line-height: 1.5;  letter-spacing: -.05rem; }
h6 { font-size: 1.5rem; line-height: 1.6;  letter-spacing: 0; }

@media (min-width: 550px) {
	h1 { font-size: 3.0rem; }
	/*h2 { font-size: 2.8rem; }*/
	h3 { font-size: 2.5rem; }
	h4 { font-size: 2.0rem; }
	h5 { font-size: 1.8rem; }
	h6 { font-size: 1.5rem; }
}
h1 {
	font-size: 36px;/* IE8以下とAndroid4.3以下用フォールバック */
	font-size: calc(2.4rem + ((1vw - 0.64rem) * 2.1429));/* 24px~36pxで可変*/
	line-height: 1.3;
}
.h2 {
	font-size: 24px;/* IE8以下とAndroid4.3以下用フォールバック */
	font-size: calc(2rem + ((1vw - 0.64rem) * 0.7143));/* 20px~24pxで可変*/
	line-height: 1.3;
}
/* @media スタイルシートを適用する条件 */
@media (min-width: 1200px) {            /* 1200px以上*/
    h1 {
        font-size: 3.6rem;              /* 36px */
    }
    .h2 {
        font-size: 2.4rem;              /* 24px */
    }
}
@media screen and (max-width: 640px) {  /* 640px以下*/
	body{
		line-height: 2;
	}
	h1{
		font-size: 2.4rem;              /* 24px*/
	}
	.h2 {
		font-size: 2rem;                /* 20px*/
	}
}

/* 基本画像設定 */
img {
	max-width:100%;                     /* 最大幅 */
	height: auto;                       /* 高さ自動 */
	z-index:2;
}


/* aタグ(基本設定)
--------------------------------------------------------------*/
a {
	color: #0080FF;
	text-decoration-line: none;
}
a:hover {
	color: #0FA0CE;
}
a,
a:visited,
a:hover,
a:active {
	color: inherit;
}

/*--------------------------------------------------------------
レスポンシブ設定
--------------------------------------------------------------*/
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
/*.pc { display: block !important; }*/      	/* PC表示 */
/*.pc-tablet { display: none !important; }*/	/* PC-タブレット表示 */
.tablet-sp { display: none !important; }
.sp { display: none !important; }				/* スマホ表示 */

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media screen and (max-width: 960px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}
@media screen and (max-width: 768px) {
	.pc-tablet { display: none !important; }
    .tablet-sp { display: block !important; }
}
.advantage-sp { display: none !important; }
@media screen and (max-width: 1180px) {
	.advantage-pc { display: none !important; }
	.advantage-sp { display: block !important; }
}
@media screen and (max-width: 960px){
	.tablet-hidden {
		display: none;
	}
}
@media screen and (max-width: 768px){
	.tablet,
	.sp-hidden {
		display: none;
	}
}
@media screen and (min-width: 960px){
	.pc-hidden {
		display: none;
	}
}
@media screen and (min-width: 768px){
	.sp-only {
		display: none;
	}
}
@media screen and (max-width: 1080px){
	.access-hidden {
		display: none;
	}
}
.line-black {
	text-decoration:underline solid #000000;
}
/*---------------------------------------
 ヘッダー
---------------------------------------*/
header {
	/* 固定ヘッダー・追従ヘッダーメニュー用 常時表示させない場合は全部無効にする */
	position: fixed;/* 基本変更しない */
	width: 100%;	/* 基本変更しない */
	top: 0;			/* 基本変更しない */
	left:0;			/* 基本変更しない */
	height: auto;	/* 基本変更しない */
	z-index: 99999;	/* 基本変更しない */
	/* 常時上に表示しない場合は全部無効にする ここまで */
	color: white;
	background-color: black;
}
.header-main {
	position: relative;
	display: flex;
	justify-content: space-between;
	max-width: 1440px;
	height: 40px;
	margin: 0 auto;
	padding: 5px 180px;
	font-size: 20px;
}
.header-main h1 {
	font-size: 20px;
	font-weight: 700;
}
.header-main-left,
.header-main-right {
	display: inline-block;
}
.header-main-left-box {
	display: flex;
}
.header-main-left-box img {
	height: 30px;
	padding-right: 10px;
}
.header-main-right {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
}
@media (max-width: 768px) {
	.header-main {
		padding: 5px 10px;
		font-size: 16px;
	}
	.header-main-right {
		font-size: 16px;
		font-weight: 700;
		line-height: 1.8;
	}
}
/*---------------------------------------
 セクション0
---------------------------------------*/
#_section0_ {
	color: white;
	background-color: black;
}
#_section0_ img {
	width: 100vw;
	aspect-ratio: 16 / 9;
	object-fit:cover;
}
@media (max-width: 690px) {
	#_section0_ img {
		width: 100vw;
		aspect-ratio: 4 / 5;
		object-fit:cover;
	}
}
.top-img {
	position: relative;/*親要素にrelative*/
}
.top-img .top-img-text {
	position: absolute;/*重ねたい子要素にabsolute*/
	top:50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
	-webkit-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
	transform: translate(-50%,-80%);/*センター寄せの修正*/
	color: #fff;
	font-size: 20px;
	font-weight: 500;
	text-align: center;
	margin: 0!important;/*文字がずれている場合や*/
	padding: 0!important;/*文字が折り返される場合*/
}
.top-img .top-img-text ._title {
	font-size: 55px;
	font-weight: 900;
}
@media (max-width: 768px) {
	.top-img .top-img-text {
		font-size: 16px;
	}
	.top-img .top-img-text ._title {
		font-size: 30px;
	}
}
.img-dark{
	position: relative;
	display: inline-block;
}
.img-dark img{
   display: block;
}
.img-dark::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
}
/*---------------------------------------
 TOPボタン
---------------------------------------*/
._top_contact_ {
	position: absolute;/*重ねたい子要素にabsolute*/
	width: 100%;
	top:50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
	-webkit-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
	transform: translate(-50%,30%);/*センター寄せの修正*/
	height: auto;
	font-size: 20px;
	padding: 40px 0;
	color: #ffffff;
}
/*---------------------------------------
 セクション1
---------------------------------------*/
#_section1_ {
	padding: 20px;
	color: white;
	background-color: black;
}
.overview {
	padding: 20px;
	margin-bottom: 5px;
	text-align: center;
	font-size: 20px;
	font-weight: 400;
	line-height: 30px;
}
@media (max-width: 768px) {
	#_section1_ {
		padding: 10px;
	}
	.overview {
		padding: 20px;
		margin-bottom: 5px;
		text-align: center;
		font-size: 14px;
		font-weight: 400;
		line-height: 30px;
	}
}
.business-hours {
	max-width: 800px;
	padding: 40px 20px;
	text-align: center;
	margin: 0 auto;
}
/*---------------------------------------
 セクション2
---------------------------------------*/
#_section2_ {
	padding: 20px;
}
.about-price {
	max-width: 600px;
	padding: 20px;
	margin: 0 auto;
	text-align: left;
	background-color: white;
}
.about-price h2 {
	text-align: center;
	font-size: 24px;
	font-weight: 700;
}
.about-price-main {
	max-width: 350px;
	text-align: center;
	padding: 30px;
	margin: 0 auto;
	margin-bottom: 40px;
	border: solid 2px black;
	border-radius: 20px;
}
.about-price-main p {
	color: #7c6243;
	font-size: 40px;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 15px;
}
.about-price-main span {
	font-size: 20px;
	font-weight: bold;
}
.about-price-main div {
	text-align: center;
	padding-bottom: 10px;
}
@media (max-width: 768px) {
	.about-price {
		font-size: 16px;
		padding: 10px;
	}
	.about-price-main {
		padding: 10px;
	}
	.about-price-main div {
		font-size: 14px;
		font-weight: bold;
	}
}
/*---------------------------------------
 セクション3
---------------------------------------*/
#_section3_ {
	padding: 20px;
	background-color: black;
}
.how-to-use {
	max-width: 800px;
	padding: 20px;
	margin: 0 auto;
	text-align: left;
	background-color: white;
	border-radius: 20px;
}
.how-to-use h2 {
	text-align: center;
	font-size: 24px;
	font-weight: 700;
	/*text-decoration:underline solid #000000;*/
}
.how-to-use p {
	margin: 5px;
	font-size: 20px;
	font-weight: 700;
	color: #7c6243;
}
@media (max-width: 768px) {
	.how-to-use p {
		margin: 5px;
		font-size: 16px;
		font-weight: 700;
		color: #7c6243;
	}
}
/*---------------------------------------
 セクション4
---------------------------------------*/
#_section4_ {
	padding: 20px;
	background-color: white;
}
.compensation {
	max-width: 400px;
	padding: 0px;
	margin: 0 auto;
	text-align: left;
	background-color: white;
}
.compensation h2 {
	text-align: center;
	font-size: 24px;
	font-weight: 700;
}
/*---------------------------------------
 セクション5
---------------------------------------*/
#_section5_ {
	padding: 20px;
	background-color: black;
}
.attention {
	max-width: 800px;
	padding: 20px;
	margin: 0 auto;
	text-align: left;
	background-color: white;
	border-radius: 20px;
}
.attention h2 {
	text-align: center;
	font-size: 24px;
	font-weight: 700;
	/*text-decoration:underline solid #000000;*/
}
.footer-main {
	text-align: center;
	padding-bottom: 50px;
	color: white;
	background-color: black;
}
.footer-main p {
	font-size: 24px;
	font-weight: 700;
	/*text-decoration:underline solid #000000;*/
}
.copyright {
	text-align: center;
	color: white;
	background-color: black;
}
/*---------------------------------------
 ボタン
---------------------------------------*/
._contact_ {
	height: auto;
	font-size: 20px;
	padding: 40px 0;
	color: #ffffff;
	background-color: #34495e;
}

.speed-content {
	position: relative;
	z-index: 1;
	text-align: center;
	font-size: 17px;
}
.speed-content__buttons {
	margin: -5px 0;
	padding: 0;
	text-align: center;
	display: inline-flex;
	flex-wrap: wrap;
}
@media (min-width: 768px) {
	.speed-content__buttons_narrow li {
		padding: 0px 5px;
	}
}
@media (min-width: 768px) {
	.speed-content__buttons li {
		padding: 5px 18px;
	}
}
.speed-content__buttons_narrow li {
	padding: 0px 5px;
}
.speed-content__buttons li {
	display: inline-block;
	padding: 5px 18px;
}
.btn--transparent {
	border: 1px solid #ffffff;
	border-radius: 4px;
	background: transparent;
	padding: 13px 28px;
	background-color: transparent;
}
.btn--transition {
	-webkit-transition: all 200ms ease-in-out;
	-moz-transition: all 200ms ease-in-out;
	-ms-transition: all 200ms ease-in-out;
	-o-transition: all 200ms ease-in-out;
	transition: all 200ms ease-in-out;
}
.btn--regular {
	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	padding: 12px 30px 14px 30px;
}
.btn--normal {
	background-color: rgba(0, 0, 0, 0.3);
}
.btn--normal:hover {
	background-color: rgba(0, 0, 0, 0.9);
}
.btn--green {
	border: 1px solid #5cc857;
	border-radius: 4px;
	padding: 13px 28px;
	background: #5cc857;
}
.btn--green:hover {
	border: 1px solid #296e6d;
	background: #296e6d;
}
/*---------------------------------------
 QRコード
---------------------------------------*/
.qr-code {
	position: relative;
	margin: 0 auto;
	text-align: center;
}
.qr-code img {
	position: absolute;/*重ねたい子要素にabsolute*/
	width: 100%;
	top:50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
	-webkit-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
	transform: translate(-50%,35%);/*センター寄せの修正*/
	width: 100px!important;
	height: 100px!important;
}
.qr-code p {
	position: absolute;/*重ねたい子要素にabsolute*/
	width: 100%;
	top:50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
	-webkit-transform: translate(-50%,-50%);/*ベンダープレフィックス*/
	transform: translate(-50%,350%);/*センター寄せの修正*/
}
@media (max-width: 960px) {
	.qr-code {
		display: none;
	}
}
.qr-code-top {
	position: relative;
	padding-top: 10px;
	margin: 0 auto;
	text-align: center;
}
.qr-code-top p {
	margin-top: 0;
}
.qr-code-top img {
	width: 100px!important;
	height: 100px!important;
}
@media (min-width: 960px) {
	.qr-code-top {
		display: none;
	}
}
.qr-code-foot {
	position: relative;
	padding-top: 40px;
	margin: 0 auto;
	text-align: center;
}
.qr-code-foot img {
	width: 100px!important;
	height: 100px!important;
}
.qr-code-foot p {
	padding: 0;
	margin: 0;
}
