@charset "utf-8";

/*
Theme Name: アイパージャパン株式会社
Theme URI: null
Description: Description
Author: nukk
Version: 1.0
*/

:root {
  --main-color: #329b82;
  --sub-color:#cdf0ea;
  --content-width: 1200px;
  --accent-color:#aa2633;
  --link-icon-url: url('/wp-content/themes/eiperjapan/images/common/link-icon.svg');
}

@font-face{
    font-family: "demi";
    src: url("fonts/1dd1c7d8df011c2266f33ebd5927c0ab.eot");
    src: url("fonts/1dd1c7d8df011c2266f33ebd5927c0ab.woff2") format("woff2"),
         url("fonts/1dd1c7d8df011c2266f33ebd5927c0ab.woff") format("woff"),
         url("fonts/1dd1c7d8df011c2266f33ebd5927c0ab.eot?#iefix") format("embedded-opentype"),
         url("fonts/1dd1c7d8df011c2266f33ebd5927c0ab.ttf") format("truetype"),
         url("fonts/1dd1c7d8df011c2266f33ebd5927c0ab.svg#DIN 2014 Demi") format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

html {
	color:#000;
	background:#FFF;
}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td,article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
	margin:0;
	padding:0;
}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
	display:block;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
fieldset,img {
	border:0;
}
address,caption,cite,code,dfn,em,strong,th,var {
	font-style:normal;
	font-weight:normal;
}
ol,ul {
	list-style:none;
}
caption,th {
	text-align:left;
}
h1,h2,h3,h4,h5,h6 {
	font-size:100%;
	font-weight:normal;
}
q:before,q:after {
	content:'';
}
abbr,acronym {
	border:0;
	font-variant:normal;
}
sup {
	vertical-align:text-top;
}
sub {
	vertical-align:text-bottom;
}
input,textarea,select {
	font-family:inherit;
	font-size:inherit;
	font-weight:inherit;
}
input,textarea,select {
	*font-size:100%;
}
legend {
	color:#000;
}
img{
	max-width:100%;
}
a{
	color:#333;
}
li{
	list-style-type:none;
}
/* fonts.css
****************************/
html {
	font-size: 62.5%;
	/*font-family: "Meiryo", "MS PGothic", "Hiragino Kaku Gothic Pro", sans-serif;*/
	font-family: 'Noto Sans JP', sans-serif, "Meiryo", "MS PGothic", "Hiragino Kaku Gothic Pro", "Montserrat";
}
body {
	font-size: 1.3rem;
	color: #333;
}
select,input,button,textarea {
	font:99% arial,helvetica,clean,sans-serif;
}
table {
	font-size:inherit;
	font-size:100%;
}
pre,code,kbd,samp,tt {
	font-family:monospace;
	*font-size:108%;
	line-height:100%;
}
article{
	margin-bottom:100px;
}

/* base.css
****************************/

/* clearfix */
.clearfix:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
	line-height: 0;
	visibility: hidden;
	font-size: 0.1em;
}
.clearfix {display:inline-block;}
* html .clearfix {height:1px;}
.clearfix {display:block;}

/* マージン・インデント */
.mt5 {margin-top: 5px;}
.mt10 {margin-top: 10px;}
.mt15 {margin-top: 15px;}
.mt20 {margin-top: 20px;}
.mt25 {margin-top: 25px;}
.mt30 {margin-top: 30px;}

.mr5 {margin-right: 5px;}
.mr10 {margin-right: 10px;}
.mr15 {margin-right: 15px;}
.mr20 {margin-right: 20px;}
.mr25 {margin-right: 25px;}
.mr30 {margin-right: 30px;}

.mb5 {margin-bottom: 5px;}
.mb10 {margin-bottom: 10px;}
.mb15 {margin-bottom: 15px;}
.mb20 {margin-bottom: 20px;}
.mb25 {margin-bottom: 25px;}
.mb30 {margin-bottom: 30px;}

.ml5 {margin-left: 5px;}
.ml10 {margin-left: 10px;}
.ml15 {margin-left: 15px;}
.ml20 {margin-left: 20px;}
.ml25 {margin-left: 25px;}
.ml30 {margin-left: 30px;}

.pt5 {padding-top: 5px;}
.pt10 {padding-top: 10px;}
.pt15 {padding-top: 15px;}
.pt20 {padding-top: 20px;}
.pt25 {padding-top: 25px;}
.pt30 {padding-top: 30px;}

.pr5 {padding-right: 5px;}
.pr10 {padding-right: 10px;}
.pr15 {padding-right: 15px;}
.pr20 {padding-right: 20px;}
.pr25 {padding-right: 25px;}
.pr30 {padding-right: 30px;}

.pb5 {padding-bottom: 5px;}
.pb10 {padding-bottom: 10px;}
.pb15 {padding-bottom: 15px;}
.pb20 {padding-bottom: 20px;}
.pb25 {padding-bottom: 25px;}
.pb30 {padding-bottom: 30px;}

.pl5 {padding-left: 5px;}
.pl10 {padding-left: 10px;}
.pl15 {padding-left: 15px;}
.pl20 {padding-left: 20px;}
.pl25 {padding-left: 25px;}
.pl30 {padding-left: 30px;}

.w100 {
	width:100% !important;
}

.w100 img {
	width:100% !important;
}

/* リンク */
a:link,a:visited,a:hover,a:active {color: #333;}
a:link,a:visited {text-decoration: none;}

/* 要素設定 */
html,body {
	color: #333;
}
ul,dl,ol {
	text-indent: 0;
	list-style-position:outside;
}
th,td {
	vertical-align: top;
}
img {
	vertical-align: top;
}

a[href^="tel:"] {
    cursor: default;
    pointer-events: none;
}
/* 文字数調整 */
.elps {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
}

.secbox,
.textbody {
	max-width: var(--content-width);
	margin: 0 auto;
}
.textbody {
	padding:0 5%;
}
section h2.ttl {
	color:#fff;
	background-color: var(--main-color);
	background-image: url(images/common/ttl_back.svg);
	margin-bottom: 30px;
	font-size: 4.6rem;
	font-weight: bold;
	text-align: center;
	padding: 1.3em 0;
	letter-spacing:1rem;
	white-space: nowrap;
}

section h2.ttl span {
    display: block;
    font-size: 1.6rem;
    font-weight: 500;
    color:#000;
    letter-spacing: normal;
}

section.contact-block h2.ttl {
    background-color: initial;
    color: var(--main-color);
    font-family: Montserrat;
    background-image: none;
}

section.contact-block .ttl span {
    display: block;
    font-size: 1.6rem;
    font-weight: 500;
    color:#000;
    letter-spacing: normal;
}

.secbox h3 {
	font-size: 3rem;
	color: var(--main-color);
	font-weight: bold;
	margin-bottom:1.2em;
	line-height: 5rem;
}

.secbox p {
	font-size: 1.8rem;
	line-height: 1.8;
	font-weight:500;
}
.fw-b {	font-weight: bold;}

/* パンくず
****************************/
.pan {
	margin: 10px auto 50px;
	font-size: 1.4rem;
	padding:0 5%;
}
.pan-group {
	margin:auto;
	max-width: var(--content-width);
}
.pan a {
	color: var(--main-color);
	text-decoration: underline;
	display: inline-block;
	margin-right: 10px;
}
 .pan span {
	display: inline-block;
	margin-right: 10px;
	color: #000;
	font-weight: 500;
}

/* ヘッダー 
****************************/

#logo img {
    width: 290px;
}

#header {
/*	position: absolute;
	top: 0;
	left: 0;*/
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 10px 40px;
	background-color: #fff;
}

#header #globalNav ul {
	display: flex;
	align-items: center;
	padding-top: 20px;
	font-size: 1.8rem;
	font-weight: bold;
	justify-content: flex-start;
	flex-wrap: wrap;
}
#header #globalNav ul li {
	padding-bottom: 14px;
}
#header #globalNav ul li:not(:first-child) {
	margin-left: 1.5em;
	padding-bottom: 14px;
}
#header #globalNav ul li img {
	display: inline-block;
	margin-right: 10px;
	vertical-align: middle;
}
#header #globalNav ul li a {	color: var(--main-color);}
#header #globalNav ul li.tel-contact a {
	display: block;
	padding: 0px;
	line-height: 45px;
	font-weight: bold;
	font-size:1.8em;
	letter-spacing: 0;
}
.tel-contact svg {
    display: inline-block;
    width: 26px;
}

#header #globalNav ul li.contact img {
	width:26px;
	margin-right: 0;
}
#header #globalNav ul li.contact img {
margin-right:6px;
}
#header #globalNav ul li.contact a {
	display: block;
	padding: 0px 40px;
	background-color: var(--main-color);
	border-radius: 23px;
	line-height: 45px;
	color:#fff;
	letter-spacing: 3px;
}
#header #globalNav ul li.contact a:hover {
	border-bottom: none;
	background-color: var(--accent-color);
}

#header #globalNav ul li:not(.tel-contact):not(.contact):hover a {
	color:var(--accent-color);
	border-bottom: 4px solid var(--accent-color);
}
/*#header #globalNav ul li:hover #header-tel-icon {
	fill: var(--accent-color);
}*/

#header #menubtn {display: none;}





/* CONTACTブロックの全体スタイル */
.contact-block {
    background-color: var(--sub-color);
    padding: 60px 20px;
    text-align: center;
}

.contact-block h2.ttl {
    margin-bottom: 0;
}

/* コンテンツの最大幅と中央寄せ */
.contact-container {
    max-width: var(--content-width);
    margin: 0 auto;
}

/* テキスト (お気軽にお問い合わせください。) */
.contact-text {
	font-size: 1.8em;
	color: #333;
	margin-bottom: 40px;
	font-weight: 600;
}

/* ================================================= */
/* 【重要】電話番号とボタンの横並び設定 (PC版) */
/* ================================================= */
.contact-actions {
    display: flex; /* Flexboxを有効化 */
    justify-content: center; /* 子要素を中央寄せ */
    align-items: center; /* 垂直方向の中央揃え */
    gap: 100px; /* 要素間のスペース */
    margin-bottom: 20px; /* 下側の余白 */
}

/* 電話番号ブロックのスタイル（横並び時に電話番号部分をまとめる） */
.contact-phone-block {
    /* 子要素にtext-align: center;を設定し、受付時間を電話番号の下に中央寄せ */
    text-align: center;
    width:40%;
}

span.phone-number {
    font-family: "demi";
}

/* 電話番号リンク */
.contact-phone-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    font-size: 5em;
    color: var(--main-color) !important;
    font-weight: bold;
    margin-bottom: 10px;
    white-space: nowrap; /* 電話番号が改行されないようにする */
}

/* 電話アイコン */
.phone-icon {
    font-size: 1.2em;
    margin-right: 15px;
    line-height: 1;
}
.phone-icon svg {
	max-inline-size:none;
	height:70px;
}
/* 受付時間 */
.reception-hours {
    font-size: 1.3em;
    margin-top: 0;
}

.contact-button {
	width: 40%;
	display: block;
	padding: 15px 40px;
	background-color: var(--main-color);
	border-radius: 40px;
	line-height: 45px;
	color: #fff !important;
	font-size: 3em;
}

.contact-button img {
	width:30px;
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle;
}

.contact-button:hover {
	background-color: var(--accent-color);
}


/* フッター 
****************************/
#footer {
	background-color: var(--main-color);
	color: #fff;
}
#footer .f-logo {
	font-size: 3em;
	font-weight: bold;
}
#footer .flex-box {
	max-width: 100%;
	margin: 0 auto;
	padding: 85px 5%;
	display: flex;
	justify-content: space-between;
}
#footer .left .f-info {
	padding: 18px 0 25px;
	font-size: 1.8rem;
}
#footer .left .f-info .tel {
	padding-top: 16px;
	font-size: 2.4rem;
	font-weight: bold;
}
#footer .left .f-info a {
	color:#fff;
}
#footer .left .f-info .telbefore {
	font-size: 1.6rem;
	margin-left:20px;
}
#footer .left .f-info #tellink a {
	pointer-events: none;
	color:#fff;
}
#footer .right {
	display: flex;
}
#footer .right .f-nav {
	margin-right: 75px;
	font-size: 1.6rem;
	font-weight: bold;
	display: flex;
	flex-wrap: wrap;
	align-self: flex-start;
}
#footer .right .f-nav li {
	position: relative;
	margin-bottom: 20px;
	width: 50%;
	box-sizing: border-box;
}
#footer .right .f-nav li::before {
	content: "";
	display: block;
	width: 17px;
	height: 17px;
	position: absolute;
	top: 1px;
	left: -25px;
	background-color: #fff;
	border-radius: 50%;
}
#footer .right .f-nav li::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	position: absolute;
	top: 4px;
	left: -18px;
	border: 6px solid var(--main-color);
	border-top: 5px solid transparent;
	border-right: 5px solid transparent;
	border-bottom: 5px solid transparent;
}
#footer .right .f-nav li a {
	color:#fff;
}
#footer .right .f-nav li:hover::before {
	background-color:var(--accent-color);
}
#footer .right .f-nav li:hover::hover {
	border-color: #fff;
}
#footer .right .f-nav li:hover a {
	color:var(--accent-color);
}
#footer .f-btn-contact {
	position: relative;
	display: block;
	margin-bottom: 10px;
	padding: 15px 70px;
	background-color: #fff;
	color: var(--main-color);
	text-align: center;
	font-size: 1.7rem;
	font-weight: bold;
	letter-spacing: 2px;
	border-radius: 30px;
}
#footer .f-btn-contact img {
	display: inline-block;
	margin-right: 10px;
	vertical-align: middle;
}

.f-btn-contact::after {
    content: "";
    width: 16px;
    height: 16px;
    -webkit-mask-image: url('images/common/link-icon.svg');
    mask-image: url('images/common/link-icon.svg');
    background-color: var(--main-color);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    right: 10%;
    top: 50%;
    transform: translateY(-50%);
}
.f-btn-contact:hover::after {
    background-color: #fff;
}
#footer .f-linkbox a {	display: block;}
#footer .f-linkbox a:nth-child(2) {	margin-bottom: 25px;}
#footer .f-linkbox a:hover {
	color: #fff;
	background-color: var(--accent-color);
}


.item-pc {
	display:block;
}

.item-sp {
	display:none;
}

/* ベースとなるコンテナのスタイル */
.navigation.pagination {
    text-align: center; /* ページネーション全体を中央揃え */
    padding: 20px 0;
    font-family: Arial, sans-serif; /* フォントを調整 */
}

.nav-links {
    display: inline-flex; /* リンク要素を横並びに */
    gap: 5px; /* 要素間のスペース */
    align-items: center;
    justify-content: center;
}

/* すべてのページ番号と矢印コンテナの共通スタイル */
.page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px; /* 数字が入る要素の最小幅 */
    height: 40px;
    padding: 0 10px; /* 内部のパディング */
    text-decoration: none;
    color: #333; /* 数字の色 */
    font-size: 16px;
    line-height: 1; /* 行の高さを調整 */
    border-radius: 5px; /* 角の丸み */
    transition: background-color 0.3s, color 0.3s;
}

/* リンク要素（数字）のホバー時のスタイル */
a.page-numbers:not(.prev):not(.next):hover {
    background-color: #f0f0f0;
}

/* 現在地（アクティブ）のページ番号のスタイル */
.page-numbers.current {
    background-color: transparent; /* アクティブな数字は背景色なし */
    color: #008080; /* アクティブな数字の色 */
    font-weight: bold;
    /* アクティブなページ番号は画像では囲まれていないため、borderはなし */
    cursor: default;
}

/* 矢印（前へ・次へ）の共通コンテナスタイル */
.page-numbers.prev,
.page-numbers.next {
	background-color: var(--main-color);
    border: 1px solid #008080; /* 緑色の境界線 */
    color: transparent; /* テキストを非表示にする */
    position: relative;
    padding: 0; /* 内部パディングをリセット */
    width: 40px; /* 正方形にする */
    height: 40px; /* 正方形にする */
    border-radius: 50%; /* 完全な円形にする */
}

/* 矢印コンテナのホバー時のスタイル */
a.page-numbers.prev:hover,
a.page-numbers.next:hover {
    background-color: #015959; /* 薄い緑色のホバー効果 */
}

/* 矢印の形状をCSSのみで作成 */

/* 前へ (左向きの矢印) */
.page-numbers.prev::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 55%; /* やや左に寄せて中央に見えるように調整 */
    transform: translate(-50%, -50%) rotate(45deg); /* 左下を向くよう45度回転 */
    width: 8px; 
    height: 8px; 
    border-left: 2px solid #fff; /* 左の線 */
    border-bottom: 2px solid #fff; /* 下の線 */
}

/* 次へ (右向きの矢印) - 修正済み */
.page-numbers.next::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 45%; /* やや右に寄せて中央に見えるように調整 */
    transform: translate(-50%, -50%) rotate(45deg); /* 右上を向くよう-135度回転 */
    width: 8px; 
    height: 8px; 
    border-top: 2px solid #fff; /* 上の線 */
    border-right: 2px solid #fff; /* 右の線 */
}

/* 画面読み上げテキストを非表示にする（視覚的にのみ） */
.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}



/* 最新情報
****************************/
#news {
    padding: 95px 0;
}

#news .secbox p {
    font-size: 1.6rem;
    font-weight: bold;
}

#news .newslist {
    width: 100%;
}
#news .newslist li {
    position: relative;
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px dashed #848584;
    display: flex;
    align-items: center;
}
#news .newslist li a {
    width: 100%;
    display: flex;
}

#news .newslist li::after {
    content: '';
    position: absolute;
    top: 40%;
    right: 12px; /* リンク要素の右端に配置 */
    
    /* 矢印をCSSのborderプロパティで作成 */
    width: 10px;
    height: 10px;
    border-top: 2px solid var(--main-color); /* 緑色の上の線 */
    border-right: 2px solid var(--main-color); /* 緑色の右の線 */
    
    /* 45度回転させて右向きの矢印にする */
    transform: translateY(-50%) rotate(45deg); 
    
    transition: transform 0.2s ease-out; /* ホバー時のアニメーション */
}
#news .newslist li:hover::after {
    border-top-color: var(--accent-color) ;
    border-right-color: var(--accent-color);
}
#news .newslist li .date {
    padding-right: 30px;
    color: var(--main-color);
    font-family: Montserrat;
}
#news .newslist li:hover .date,
#news .newslist li:hover a {
    color: var(--accent-color);
}
#news .imgbox {
    margin: 50px 0 0;
    align-items: center;
}
#news .imgbox span {
    display: block;
    margin: 0 auto 20px;
    text-align: center;
    font-size: 1.3em;
    font-weight: bold;
}
#news .imgbox img {
   max-height: 100%;
   margin: 0 auto;
}


.news-link-box {
    margin: auto;
    text-align: center;
}

.news-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    color: var(--text-color);
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
    transition: color 0.3s;
}

.news-link__text {
    margin-right: 15px;
}

.news-link__arrow-circle {
    width: 35px;
    height: 35px;
    background-color: var(--main-color);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background-color 0.3s;
    position: relative;
}

.news-link__arrow-circle::after {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    position: absolute;
    right: 40%;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}

.news-link:hover .news-link__arrow-circle {
    background-color: var(--accent-color);
}

@media all and (max-width: 1540px) {
	#header #globalNav ul li:not(.tel-contact):not(.contact):hover a {
		border-bottom: none;
	}

/*	#header #globalNav ul li:not(:first-child) {
		margin-left: 0;
	}*/
}

@media all and (max-width: 1400px) {
	#header #globalNav ul {
		font-size: 1.2em;
	}
	#footer .flex-box {
		flex-direction: column-reverse;
		margin:auto;
	}

	#footer .right,
	#footer .left {
		margin:auto;
	}
}

/* 以下SP用スタイル
****************************/
/* ヘッダーのみ1300pxから
****************************/
@media all and (max-width: 1300px) { 
	#header {
	display: block;
	padding: 10px;
	background: #fff;
}
#header #logo {
	width: 50%;
}
#header #globalNav {
	z-index:999;
	background-color:#fff;
	position: fixed;
	top: 0;
	right: -100%;
	width: 100%;
	transition: .2s;
	border-bottom: 5px double var(--main-color);
}
#header #globalNav.open {	right: 0;}
#header #globalNav ul {
	display: block;
	padding: 50px 20px 10px 20px;
}
#header #globalNav ul li:not(.tel-contact, .contact) {
	margin-left: 1.5em;
}
#header #globalNav ul li:not(.tel-contact, .contact) a {
	display: block;
}
#header #globalNav ul li {
	/*margin-left: 1.5em;*/
	font-size:1.3em;
	margin-bottom:1em;
}
#header #globalNav ul li.contact a {	text-align: center;}
#header #globalNav ul li:hover {	border: none;}

#header #menubtn {
	z-index:1000;
	position: absolute;
	top:5%;
	right: 20px;
	width: 35px;
	height: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
}
#header #menubtn.open {
    position: fixed;
}
#header #menubtn .btn-line {
	position: relative;
	width: 100%;
	height: 2px;
	background-color: var(--main-color);
	transition: .2s;
}
#header #menubtn .btn-line::before,
#header #menubtn .btn-line::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: var(--main-color);
	transition: .2s;
	top: 0;
}
#header #menubtn.open .btn-line::before,
#header #menubtn.open .btn-line::after {
	background-color: var(--main-color);
}
#header #menubtn .btn-line::before {	transform: translateY(-13px);}
#header #menubtn .btn-line::after {	transform: translateY(13px);}
#header #menubtn.open .btn-line {	background-color: transparent;}
#header #menubtn.open .btn-line::before {	transform: rotate(45deg);}
#header #menubtn.open .btn-line::after {	transform: rotate(-45deg);}

#header #globalNav ul li.tel-contact a {
	display: block;
	padding: 10px 40px;
	background-color: var(--main-color);
	border-radius: 23px;
	line-height: 45px;
	color:#fff;
	letter-spacing: 3px;
	text-align: center;
}

#header #globalNav ul li #header-tel-icon {
	fill: #fff;
}

}


@media (max-width: 1000px) {

	a[href^="tel:"] {
	    cursor: pointer;
	    pointer-events: auto;
	}
	
	.secbox {
		padding:0 5%;
	}

	.contact-actions {
		flex-direction: column;
	}

	.contact-phone-block {
		width: 100%;
	}

	.contact-button {
		width: 50%;
	}

	.newslist li .txt {
		padding-right:30px;
	}

	.contact-phone-link {
		display: inline-flex;
		justify-content: center;
		width: 50%;
		padding: 15px 40px;
		background-color: var(--main-color);
		border-radius: 40px;
		line-height: 45px;
		color: #fff !important;
		font-size: 3em;
	}

	.phone-icon svg {
		height:35px;
		fill: #fff;
	}

	.phone-icon path {
		fill: #fff!important;
	}
}

@media (max-width: 768px) {

	.item-pc {
		display:none;
	}

	.item-sp {
		display:block;
		margin-top:30px;
	}

	#footer .f-logo {
		font-size: 2em;
	}
	#footer .right,
	#footer .left {
		width:100%;
	}

	#footer .right {
		flex-direction:column;
	}
	#footer .right .f-nav {
		margin-left:17px;
	}
	#footer .right .f-nav li {
		font-size:2rem;
		margin-bottom:30px;
		width:100%;
	}
	#footer .right .f-nav li::before {
		top:6px;
	}
	#footer .right .f-nav li::after {
		top:9px;
	}
	#footer .left .f-info .telbefore {
		margin-left: 0;
	}
	.telbefore::before {
	    content: "";
	    display: block;

	}
	#footer .tel {
	    display: block;
	    margin-bottom: 10px;
	    padding: 15px 70px;
	    background-color: #fff;
	    color: var(--main-color);
	    text-align: center;
	    font-size: 1.7rem;
	    font-weight: bold;
	    letter-spacing: 2px;
	    border-radius: 30px;
	    margin-top: 20px;
	}
	#footer .left .f-info #tellink a {
		color:var(--main-color);
	}

    .contact-block {
        padding: 40px 15px;
    }

    /* 【重要】スマホ版では縦並びにする */
    .contact-actions {
        gap: 30px; /* 縦の要素間のスペース */
    }

    /* 電話番号ブロックをボタンの上で少し広くする */
    .contact-phone-block {
        margin-bottom: 10px;
    }
    .phone-number { font-size:2em }
    .contact-phone-link {
        font-size: 1em;
        width: 80%;
    }

    .phone-icon {
        margin-right: 10px;
    }

    .reception-hours {
        font-size: 1.3em;
    }

    .contact-button {
        font-size: 1.5em;
        padding: 12px 25px;
        width:80%;
    }
}

@media all and (max-width: 480px) { 

.secbox,
.pan {
	width: 100%;
}
.pan {	padding-left: 10px;}


#header #globalNav ul li.tel-contact a {
	font-size: 1em;
}

.tel-contact svg {
	width:25px;
	vertical-align: middle;
}
/* フッター
****************************/
#footer .flex-box {
	width: 100%;
	padding: 50px 20px;
	flex-flow: column-reverse;
}
#footer .left {	text-align: center;}
#footer .left .f-logo img {	margin: 0 auto;}
#footer .left .f-info {	padding: 10px 0 20px;}
#footer .left .f-info .tel {	padding-top: 10px;}
#footer .left .f-info .tel a {
	pointer-events: auto;
}
#footer .left .f-regist {
	width: 70%;
	margin: 0 auto;
}

#footer .center {
	margin-bottom: 20px;
}
#footer .right {
	display: block;
	margin-bottom: 20px;
}
#footer .right .f-nav {
	margin: 0 0 20px;
	padding-left: 25px;
}
#footer .right .f-nav li {	margin-bottom: 10px;}
#footer .right .f-linkbox a {	text-align: center;}
#footer .right .f-linkbox a:nth-child(2),
#footer .right .f-linkbox a:nth-child(3), 
#footer .right .f-linkbox a:nth-child(4) {	margin-bottom: 10px;}
#footer .right .f-linkbox a:nth-child(1) img,
#footer .right .f-linkbox a:nth-child(2) img {	margin: 0 auto;}

.phone-number {
    font-size: 2em;
}

.phone-icon svg {
	height:35px;
}
} /* SP media */



