@charset "utf-8";
/* CSS Document */

/*
 * テンプレートのタブレット用 CSS
 */


/* ヘッダー */
:root {
	--logoHeight: 80px; /* ロゴの高さ */
	--headersetGapT: 10px;
}


/* グローバルナビゲーション（幅や背景画像を個別に設定する場合） */
#GNAVI .gNavi:nth-child(1)>a {
  background-position: 0px top;
}
#GNAVI .gNavi:nth-child(2)>a {
  background-position: -100px top;
}
#GNAVI .gNavi:nth-child(3)>a {
  background-position: -200px top;
}
#GNAVI .gNavi:nth-child(4)>a {
  background-position: -300px top;
}



/* グローバルナビサムネイル集 */
#GNAVI {
    font-size: 1.8vw;
}
#GNAVICONTENTS01 .gNavi > a {
	padding: 0 1em;
    font-weight: bold;
}
#GNAVI .thmbsBoxParent .sub-menu {
	width: 100vw; 
}
#GNAVI .thmbsBoxParent .bgBox {
	display: flex;
	justify-content: center;
	background-color: rgb(233 233 233);
	width: 100%;
	padding: 20px;
}
#GNAVI .thmbsBoxParent .layoutBox {
	text-align: left;
	padding: 15px 30px 20px;
	background-color: #fff;
}
#GNAVI .thmbsBoxParent .mainTitle {
	font-size: 1.5em;
	margin-bottom: 1em;
}
#GNAVI .thmbsBoxParent .layoutBox .row {
	display: flex;
	gap: 0 15px;
	flex-wrap: wrap;
}
#GNAVI .thmbsBoxParent .layoutBox .row > .col {
	flex: 1 0 auto;
}
#GNAVICONTENTS01 .thmbsBoxParent li {
	margin-bottom: 5px;
	background-color: #ffffff;
}
#GNAVI .thmbsBoxParent li[class*=drop] a {
	padding-left: 60px;
	border: none;
}
#GNAVI .thmbsBoxParent li[class*=drop]::before {
	position: absolute;
	display: block;
	height: 100%;
	content: '';
	aspect-ratio: 1/1;
	z-index: 1;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url(../images/icon_info.webp);
}


#GNAVICONTENTS01 .gNavi>a:hover {
    color: #ffffff;
    background: #333333;
}


#HEAD {
    align-items: center;
}

#HDLOGO {
    height: var(--logoHeight);
    max-height: inherit;
    margin-bottom: var(--headersetGapB);
	max-width: 200px;
}


/* 柔軟なレイアウト */
:root {
	--contentsPaddingSide: 30px;
	--sectionContentChildGapV: 25px;
}


#FOOTSITEMAP .foot:before {
    content: "|";
    margin: 0 1em;
}


#HEADRCONTENTS .title {
    right: 0;
}


.kome100 {
	line-height: 3;
}

.flex_box {
    display: flex;              /* フレックスボックスにする */
	flex-direction: row;
	justify-content: space-between;
	gap: 40px;
}


.flex_item {
	width: calc(100% / 3);
	font-size: 0.9em;
}

.gray_circle {
    width: 250px;
    height: 250px;
    background: #cccccc;
    border-radius: 50%;
    margin-bottom: 2em;
    margin-left: auto;
    margin-right: auto;
}


/* リンクボタン */
.button-rink, .button-rink:visited,
.button-rink_mail, .button-rink_mail:visited,
.button-rink_line, .button-rink_line:visited {
    width: 70%;
	padding: 20px 0;
}


.faq_r {
	font-size: inherit;
}


.mailform :is(input,textarea) {
    flex-grow: 0;
}


.annka {
	font-size: 2rem;
}