@charset "UTF-8";
@import url("grid.css");

:root { /* 色変更される場合は、#以降のカラーコードを変更してください IE非対応 */
    --base-color: #000;
    --link-color: #666;
    --linkhover-color: #0FA0CE;
    --back-color: #f7f7f7;
    --border-color: #ccc;
    --white-color: #fff;
}

img {
	max-width:100%;
	height: auto;/*高さ自動*/
}
a {
    display:block;
    color: var(--link-color);
    text-decoration-line: none;
	p {
		color: var(--linkhover-color);
		text-decoration-line: underline;
	}
}
a:hover {
		opacity: 0.6;
}
.center {

}

/*スマートフォン
-------------------------------------*/
.pc-only {
	display: none;
	@media screen and (min-width: 768px){
		display: inline-block;
	}
}
.sp-only {
	display: inline-block;
	@media screen and (min-width: 768px){
		display: none;
	}
}
.word-break {
	display: inline-block;
}

/*ヘッダー
-------------------------------------*/
.header {
	display: flex;
	padding: 2rem 0 0 0;
    margin-bottom: 10px;
	flex-direction: column;
	@media screen and (min-width: 768px){
		flex-direction: row;
		margin-bottom: 0;
	}
	&.logo img {
		width: 200px;
		@media screen and (min-width: 768px){
			width: auto;
		}
	}
	#open,#close {
		position: absolute;
		top: 20px;
		right: 12px;
	}
}

.header-box {
	display: none;
	@media screen and (min-width: 768px){
		margin-left: auto;
		margin-top: 8px;
	}
}
.contact-button {
	padding: 1rem;
	border: 2px solid var(--base-color);
}
nav ul {
	display: flex;
	flex-direction: column;
    justify-content: space-around;
    list-style: none;
	margin: 1rem 0 0 0;
	@media screen and (min-width: 768px){
		flex-direction: row;
	}
}
nav li {
	flex: 1 0 auto;
}
nav li a {
    text-decoration: none;
    text-align: center;
    width: 100%;
}
nav a:hover {
    background-color: var(--back-color);   
}
nav a {
    padding: 0.5rem;
}
.header li {
	padding-top: 0;
}
#open {
    display: block;
    background: url(../img/button.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 50px;
    height: 50px;
    border: none;
    position: absolute;
    top: 20px;
    right: 12px;
}
#close  {
    display: block;
    background: url(../img/button2.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 50px;
    height: 50px;
    border: none;
    position: absolute;
    top: 20px;
    right: 12px;
}
#navi {
    display: none;
}

@media screen and (min-width: 768px){
/* PC時はMENUボタンを非表示 */
#open,#close {
    display: none !important;
}

#navi {
    display: block !important;
}
}
    
/*メイン画像
-------------------------------------*/
.mainimg {
	position: relative;
	width: 100vw;
	height: 500px;
	img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.main-text {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 1240px;
		max-width: 100%;
		height: 100%;
		img {
			position: absolute;
			left: 15%;
			bottom: 30%;
			width: 400px;
			max-width: 70%;
			height: auto;
		}

	}
}

/*メインコンテンツ
-------------------------------------*/
main {
    margin: 5rem 0 0 0;
	padding: 0 2rem;
}
section {
	margin: 5rem 0;
	padding: 3rem 0;
}
.gray-back {
	margin-inline: -2rem;
	padding-inline: 2rem;
	background-color: var(--back-color);
}
footer {
	padding: 0;
	background-color: transparent;
}

/*キャッチコピー、ブランド、会社概要
-------------------------------------*/
.catch,
.brand,
.profile {
    text-align: center;
	h2 {
		padding-bottom: 1rem;
	}
}
.under {
	display: inline-block;
    padding: 0 1rem;
	line-height: 1.5;
    border-bottom: 0.4rem solid var(--base-color);
}
.center {
	text-align: center;
/*	margin-bottom: 1em; */
}

/*申し込みの流れ
-------------------------------------*/
.flow.row {
	margin-bottom: 3rem;
}

/* ショップ 
-------------------------------------*/
.shops {
	margin-top:  45px;
}
.shop {
	margin-bottom: 30px;
	h3 {
		margin-bottom: 0;
	}
}

/*会社概要
-------------------------------------*/
.profile {
	.container {
		padding-inline: 0;
		@media screen and (min-width: 768px){
			padding-inline: 2.0rem;
		}
	}
	dl {
		border-top: 1px solid black;

	}
	dl div {
		padding-block: 1em !important;
		border-bottom: 1px solid #888;
	}
	dt {
		text-align: center;
	}
	dd {
		margin-left: 1em;
		text-align: left;
	}
}

/*フッター
-------------------------------------*/
footer {
    background-color: var(--back-color); 
}
footer h4 {
    border-bottom: 3px solid var(--border-color);
}

/*お問い合わせ
-------------------------------------*/
.contact-box {
	border: 1px solid var(--border-color);
	text-align: center;
	padding: 2rem 0;
}
.table {
	margin: 4rem 0;
}
.table th {
	width: 250px;
}

/*コピーライト
-------------------------------------*/
.copyright {
    text-align: center;
    padding: 1rem 0;
    color: var(--white-color);
    background-color: var(--base-color);
}
.copyright a {
    text-decoration: none;
	display: inline;
}

/*ページトップへ戻るボタン
-------------------------------------*/
#pagetop {
    position: fixed;
    bottom: 15px;
    right: 15px;
}
#pagetop a {
    display: block;
    background-color: var(--base-color);
    color: var(--white-color);
    width: 50px;
    padding: 10px 5px;
    text-align: center;
}
#pagetop a:hover {
    background-color: var(--link-color);
}

/* 768px以上の表示 */
@media ( min-width : 768px ) {
}

/* 幅768px以下の表示
-------------------------------------*/
@media screen and (max-width: 768px){
	
/*ヘッダー
-------------------------------------*/
.header-box {
	display: none;
}

/*キャッチコピー、ブランド、会社概要
-------------------------------------*/
.catch,
.brand,
.profile,
.access {
    text-align: justify;
	h2 {
		text-align: left;
		font-size: 2rem;
	}
}
.under {
	padding: 0;
}

/* ショップ 
-------------------------------------*/
.shops {
	padding-inline: 0;
}
.shop {
	a {
		display: flex;
		align-items: center;
		gap: 15px;
	}
	img {
		width: 100px;
	}
	h3 {
		font-size: 1.8rem;
		&::after {
			content: "";
			display: inline-block;
			width: 1em;
			height: 1em;
			margin-left: 0.5em;
			background-image: url(../img/arrow-up-right-from-square-solid.png);
			background-size: contain;
			background-repeat: no-repeat;
		}
	}

}

/*会社概要
-------------------------------------*/
.profile {
	dt {
		text-align: left;
	}
}

/*アクセス
-------------------------------------*/
.access {
	.container {
		padding: 0;
	}
}

/*お問い合わせ
-------------------------------------*/
.table th {
	width: 100%;
	display: block;
}	
.table td {
	display: block;
}
}