@charset "utf-8";

/*
アクセントカラー　赤　#C1272D
セカンドカラー
 オレンジ　#e05104
 グレー　#4D4D4D
*/

/*=================================================================
　　全てのスクリーンサイズで適用される設定・モバイルファースト
==================================================================*/

/*============================================================
　　文書全体に適用
============================================================*/

*{
	margin: 0px;
	padding: 0px;
	transition: .3s;  /*アニメーション速度*/
}


/*============================================================
　　html
============================================================*/

html {
	scroll-behavior: smooth;
}


/*============================================================
　　body
============================================================*/

body{
	background-color: #CCC;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 18px;
}


/*============================================================
　　header
============================================================*/

header{
	position: relative;
	background-color: #FFF;
	height: 110px;
	width: 100%;
	z-index: 99;
}

#logo{
	position: absolute;
	top: 0;
	left: 0;
}

#h-top {
	width: 100%;
	height: 80px;
	background-color: black;
}

#h-top-home {
	background-color: black;
	width: 100%;
	height: 110px;
}

#h-blank-pc {
	display: none;
	background-color: black;
}

/*============================================================
 　hamburger（ハンバーガーメニュー）スマホ用　PC用は845以上の部へ
 ============================================================*/
/* menuボタン　ボタンをチェックボックスとして利用  */

/* PC用を非表示に */
.pc {
	display: none;
}

/* -----ボタンのスタイル----- */
.hamburger {
	position: absolute;
	top: 15px;
	right: 20px;
}

/* ボタン3本線 */
.hamburger .menu-btn span{
  display: block;
  width: 50px;
  height: 5px;
  background: #FFF; /* 3本線の色 */
  border-radius: 100vh;
}
.menu-btn{
  display: flex;
  flex-direction: column;
  gap: .7em;
  width: fit-content;
  margin: 0 0 0 auto;
}

/*チェックボックス非表示*/
#menu-btn{
  display: none;
}

/*↓チェックがついた時のボタンの挙動*/
#menu-btn:checked ~ .menu-btn{ /*ボタン全体が回転*/
  transform: rotate(180deg);
}
#menu-btn:checked ~ .menu-btn span:nth-of-type(1){ /*上の線の変化*/
  transform: rotate(45deg) translateY(15px) translateX(14px);
  background: #e05104;
}
#menu-btn:checked ~ .menu-btn span:nth-of-type(2){ /*真ん中の線は透明に*/
  opacity: 0;
}
#menu-btn:checked ~ .menu-btn span:nth-of-type(3){ /*下の線の変化*/
  transform: rotate(-45deg) translateY(-10px) translateX(10px);
  background: #e05104;
}

/* -----メニューのスタイル----- */
.menu-content{
  background: #e05104;
  width: 80%;
  margin: 0 0 0 auto;
  text-align:center;
}
.menu-content ul{
  padding: 0;
}
.menu-content ul li{
  list-style: none;
}
.menu-content ul li:not(:last-child){
  border-bottom: 1px solid #fff;
}
.menu-content ul li a{
  display: block;
  text-decoration: none;
  padding: 2rem;
  position: relative;
  color: #FFF;
}
.menu-content ul li a:hover{
  color: black;
}
/*チェックがついた時のメニューの挙動*/
.menu-content{
  position: fixed;
  right: -80%; /*メニューの幅と同じだけ逃す*/
}
#menu-btn:checked ~ .menu-content{
  right: 0;
}


/*============================================================
　　container
============================================================*/

.container{
	width: 100%;
	background-color: #4D4D4D;
	word-break: normal;	/*改行処理　normal:英単語の途中では改行せず、他は表示範囲に合わせて改行。break-all:言語関係なく表示範囲に合わせて改行。keep-oll:拳固関係なく単語の切れ目で改行*/
	line-break: normal;	/*禁則処理　auto:既定の改行規則　strict:厳密　normal:標準*/
	word-wrap: break-word;
	overflow-wrap: break-word;
	white-space: normal;
}

/*============================================================
　　wrapper
============================================================*/

.wrapper{
	text-align:center;
	background-color: #FFF;
}


/*============================================================
　　content
============================================================*/

.content{
	display: inline-block;
	width: 100%;
	clear: left;
	text-align: justify;
	text-justify: inter-ideograph;  
}
.content a:link{
	color: #009; /* リンクの文字色 */
}
.content a:visited{
	color: #C63; /* クリック後のリンクの文字色 */
}
.content a:hover{
	color: #e05104; /* マウスカーソルを合わせた時の文字色 */
}

/* コンテンツ内　大見出し */
.content h1 {
	padding-bottom: 8px;
	font-weight: bold;
	font-size: 140%;
	position: relative;
	overflow: hidden;
	margin: 30px auto;
}
.content h1 ::before{
	content: '';
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 5px;
	background: #C1272D;
}
.content h1 ::after{
	content: '';
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 5px;
	background: #4D4D4D;
}

/* コンテンツ内　中見出し */
.content h2{
	border-bottom: solid 3px #4D4D4D;
	margin: 20px 1em;
	font-size: 120%;
	clear: both;
}

/* コンテンツ内　文字列 */
.content p{
	margin-top: 10px 5px;
	padding-left: 0 1em;
}

/* h2下 */
.h2under{
	margin: 20px 1em;
	padding: 0 20px;
}

/* お問い合わせページ個人情報取り扱い */
details {
	padding: 0 10px;
	font-size: 75%;
}
summary {
	text-decoration: underline;
	cursor: pointer;
}


/*============================================================
　　section
============================================================*/

section{
	margin-top: 25px;
	margin-bottom: 40px;
	padding: 0 5px;
}


/*============================================================
　　image
============================================================*/

/*イメージすべてに適用*/
img{
	max-width: 100%;
	height: auto; /* auto = 縦横比を固定*/
	border-style: none;
	vertical-align: bottom;
}


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

table{
	margin: 20px auto;
	text-align: left;
	width: 90%;
}

table th{
	padding: 0.8em;
	display: block;
	width: 100%;
	box-sizing: border-box;	/* 要素の幅と高さにpaddingとborderを含める */
	margin-top: 10px;
}

table td{
	padding: 0.8em;
	display: block;
	width: 100%;
	box-sizing: border-box;
	border-bottom: solid 1px #4D4D4D;
}


/*============================================================
　　リストスタイル
============================================================*/

/* すべてのol（番号付きリスト）ul（番号なしリスト）に摘要 */
ol,
ul{
	padding-left: 20px;
}


/*============================================================
　　ボタンスタイル
============================================================*/

/* すべてのボタンに適用 */
button {
	cursor: pointer;
	padding: 15px 30px;
	font-size: 1.1em;
	border-radius: 0;
	border: #666 1px solid;
}


/* 「○○へ」等のボタンに適用 */
.button-next a{
	text-decoration:none;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin: 50px auto;
	width: 60%;
	min-width: 15em;
	padding: 10px 25px;
	color: #e05104;
	transition: 0.3s ease-in-out;
	font-weight: 600;
	background-color: #E8E8E8;
}
.button-next a::before{
	text-decoration:none;
	position: absolute;
	bottom: 0px;
	left: 50%;
	content: '';
	width: 100%;
	height: 2px;
	background: rgba(0,0,0,.1);
	transform: translateX(-50%);
}
.button-next a::after{
	text-decoration:none;
	position: absolute;
	bottom: 0px;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #C1272D;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform .3s;
}
.button-next a:hover{
	text-decoration:none;
	opacity: 0.7;
	color: #C1272D;
}
.button-next a:hover::after{
	text-decoration:none;
	transform: scale(1, 1);
}


/*============================================================
　　footer
============================================================*/

footer{
	color: #FFFFFF;
	font-size: 70%;
	text-align: center;
	padding-top: 1em;
	padding-bottom: 1em;
	background-color: black;
	clear: both;
}
footer a:link{
	color: #FFFFFF; /* リンクの文字色 */
}
footer a:visited{
	color: #FFFFFF; /* クリック後のリンクの文字色 */
}
footer a:hover{
	color: #DADADA; /* マウスカーソルを合わせた時の文字色 */
}
.li-footer {
	margin-bottom:1em;
}
.li-footer ul{
	margin: 0 ;
	padding: 0 ;
}
.li-footer li{
	list-style: none;
	display: inline-block;
	width: 10%;
	min-width: 90px;
}
.li-footer li:not(:last-child){
	border-right: 2px solid #ddd;
}



/*==============================================================================================
【レスポンシブ】スクリーンサイズ 幅 600px 以上で適用される設定・上から継承したスタイルを上書き
===============================================================================================*/

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

/*============================================================
　　section
============================================================*/

section{
	padding: 0 15px;
}


} /* ----/@media only screen and (min-width: 600px)---- */


/*==============================================================================================
【レスポンシブ】スクリーンサイズ 幅 845px 以上で適用される設定・上から継承したスタイルを上書き
===============================================================================================*/

@media only screen and (min-width: 845px) {
	
/*============================================================
　　header
============================================================*/

#logo{
	position: absolute;
	top: 0;
	left: 3%;
}

#h-blank-pc {
	display: block;
	position: relative;
	background-color: #4D4D4D;
	width: 100%;
	height: 30px;
}
.h-blank-pc-w {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	background-color: #FFF;
	width: 100%;
	max-width: 1000px;
	height: 30px;
}

/*============================================================
　　GlobalMenu（nav）PC用
============================================================*/

/* mobile版menu非表示 */
.sp {
	display: none;
}
/* PC版表示 */
.pc {
	display: block !important; /* 優先 */
}

nav{
	display: block;
	position: absolute; /* headerに対してabsolute */
	bottom: 30px;
	right: 20px;
	width: 100% ;
}
nav ul li{
	display: inline;
	background-color: black;
}
nav ul{
	text-align: right;
	list-style: none;
}
nav li{
	padding: 0 15px;
}
nav li a:link{
	color: #FFF;
	text-decoration: none;
	position: relative;
	text-align: center;
	display: inline-block;
}
nav li a:hover {
	color: #e05104;
}
nav li a:before {
	content: "";
	position: absolute;
	left: -4px;
	bottom: 0;
	width: 0;
	height: 3px;
	background-color: #C1272D;
	-webkit-transition: width 0.2s ease;
	-moz-transition: width 0.2s ease;
	-o-transition: width 0.2s ease;
	transition: width 0.2s ease;
}
nav li a:hover:before {
  width: calc(100% + 10px) ;
  left: -4px;
}

nav a:visited{
	color: #CCC; /* クリック後のリンクの文字色 */
}

/*============================================================
　　wrapper
============================================================*/

.wrapper{
	max-width: 1000px;
	margin-right: auto;
	margin-left: auto;
}


/*============================================================
　　content
============================================================*/

.content{
	margin-right: auto;
	margin-left: auto;
}


/*============================================================
　　section
============================================================*/

section{
	padding: 0 50px;
	margin-bottom: 150px;
}


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

table{
	table-layout: fixed;	/*テーブルwidth有効にするため（テキスト量による自動調整を無効化）*/
}

table th{
	display: table-cell; /* display:blockを解除 */
	vertical-align: middle; /* 上下中央寄せ */
	margin-top: 0px;
	width: 11em;
	border: none; /* いったん解除し次で再定義 */
	border-bottom: solid 1px #4D4D4D;
}

table td{
	display: table-cell; /* display:noneを解除 */
	border: none; /* いったん解除して、後に再定義 */
	border-bottom: solid 1px #4D4D4D;
}

} /* ----/@media only screen and (min-width: 845px)---- */

