@charset "utf-8";

/* CSS Document */
/*
Theme Name:アリス公式サイト
Theme URI: https://www.chatlady-alice.com/
Description: This is our original theme.
Author: 
Author URI:
Version:1.0
*/



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{margin:0;padding:0;}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;}li{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;}


/*------------------------------------------------------------------
	Universal Selector
------------------------------------------------------------------*/
* {
    font-style: normal;
    margin: 0;
    padding: 0;
    text-align: left;
	box-sizing: border-box;
}

/*------------------------------------------------------------------
	Base Settings
------------------------------------------------------------------*/


html {
    overflow-y: scroll;
}
body {
	position: relative;
    color: #333;
	background:#fff;
  font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
    font-size: 16px;
    line-height: 1.5;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
caption, th {
    text-align: left;
}
h1, h2, h3, h4, h5, h6 {
    font-size: 100%;
    margin: 0;
    padding: 0;
}
li {
    list-style-type: none;
}
p{
	line-height:1.8;

}
img{
    height: auto;
    max-width: 100% ;
    vertical-align:bottom;
    display: block;
    margin: 0 auto; /* 中央寄せ */
}
h1,h2,h3,h4,h5,h6{
	font-weight: normal;
}
/*------------------------------------------------------------------
	Base Link Color Setting
------------------------------------------------------------------*/

a {
    color: #333;
}

a:hover {
    text-decoration: underline;
}
a:active {
    text-decoration: underline;
}
a img {
    border: medium none;
}

a:hover .fil,.fil2 a:hover{
	opacity: 0.7;
	filter: alpha(opacity=70);
}

/* マージン・インデント
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ▽ */
.m1b { margin-bottom: 1px !important; }
.m2b { margin-bottom: 2px !important; }
.m3b { margin-bottom: 3px !important; }
.m4b { margin-bottom: 4px !important; }
.m5b { margin-bottom: 5px !important; }
.m6b { margin-bottom: 6px !important; }
.m7b { margin-bottom: 7px !important; }
.m8b { margin-bottom: 8px !important; }
.m9b { margin-bottom: 9px !important; }
.m10b { margin-bottom: 10px !important; }
.m13b { margin-bottom: 13px !important; }
.m15b { margin-bottom: 15px !important; }
.m20b { margin-bottom: 20px !important; }
.m25b { margin-bottom: 25px !important; }
.m30b { margin-bottom: 30px !important; }
.m35b { margin-bottom: 35px !important; }
.m40b { margin-bottom: 40px !important; }
.m45b { margin-bottom: 45px !important; }
.m50b { margin-bottom: 50px !important; }
.m60b { margin-bottom: 60px !important; }
.m80b { margin-bottom: 80px !important; }
.m10r{margin-right: 10px !important;}

.m5t { margin-top: 5px !important; }
.m10t { margin-top: 10px !important; }
.m20t { margin-top: 20px !important; }
.m30t { margin-top: 30px !important; }
.m40t { margin-top: 40px !important; }
.m50t { margin-top: 50px !important; }
.m70t { margin-top: 70px !important; }
.m80t { margin-top: 80px !important; }
.m90t { margin-top: 90px !important; }
.m100t { margin-top: 100px !important; }

/*sp時変更*/
.m10b-s { margin-bottom: 10px !important; }
.m20b-s { margin-bottom: 20px !important; }
.m30b-s { margin-bottom: 30px !important; }
.m40b-s { margin-bottom: 40px !important; }
.m50b-s { margin-bottom: 50px !important; }
.m60b-s { margin-bottom: 60px !important; }
.m70b-s { margin-bottom: 70px !important; }
.m80b-s { margin-bottom: 80px !important; }
.p01-s { padding-top:7%;padding-bottom:7%; }
.p02-s { padding-left:5%;padding-right: 5%; }
.p03-s { padding-top:10%;padding-bottom:10%; }
.p04-s { padding-left:10%;padding-right:10%; }
.p05-s { padding-left:15%;padding-right:15%; }
.p06-s { padding-top:7%;}
.p07-s { padding-top:2%; padding-bottom:7%; }
/* 位置クラス
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ▽ */
.clear { clear: both !important; }
.cen { text-align: center !important; }
.cen-pc{text-align:center !important;}
.left { text-align: left !important; }
.right { text-align: right !important; }
/* 投稿の画像配置 */
.f-left{float:left;}
.f-right{float:right;}
.f-left-pc {float: left;}
.f-right-pc {float: right;}
.alignright { display: block; margin: 0 0 10px auto; }/* 配置位置 左 */
.alignleft { display: block; margin: 0 auto 10px 0; }/* 配置位置 右 */
.aligncenter { display: block; margin: 0 auto 10px; }/* 配置位置 中央 */

.pc-dnon{display: none;}
.pc-dnon2{display: none;}

/* テキスト
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ▽ */
.bold { font-weight: bold !important; }
.txtRed { color: #ff001a !important; }
.txtBlue { color: #0e328d !important; }
.txtPink { color: #eb6c8b !important; }
.txtGold { color: #8b6c2e !important; }
.txtGray { color: #666666 !important; }
.txtWhite { color: #FFFFFF !important; }
.txtgreen { color: #79a035 !important; }
.txtorenge{color:#fd851b !important;}
.txtBlack{color: #333 !important;}
.txtBlown{color: #603a40 !important}
.txtYellow{color: #fdf131 !important;}

.txt10 { font-size: 77% !important; }
.txt11 { font-size: 92% !important; }
.txt13 { font-size: 109% !important; }
.txt14 { font-size: 117% !important; }
.txt15 { font-size: 125% !important; }
.txt17 { font-size: 142% !important; }
.txt18 { font-size: 150% !important; }
.txt20 { font-size: 167% !important; }

.bg01{
	background: #f7f3f3;
}
.bg02{
	background: #ff001a;
}
.inner-s1{
	margin-top: 50px;
	padding:2% 5%;
	position: relative;
	background: #f7f3f3;
}
.inner-s1.top{
	margin-top: 80px;
}
.inner-s1::before{
	content: " ";
	position: absolute;
	top:-50px;
	left: 0;
	width: 100%;
	height: 50px;
	background:url("images/common/bg02.png") no-repeat center top;
	background-size:cover;
}
.inner-s1 .slick-dotted.slick-slider{
	margin-bottom: 10px;
}
.inner-s2{
	margin-top: 50px;
	padding:2% 5%;
	position: relative;
	background: #ff001a;
}
.inner-s2.top{
	margin-top: 80px;
}
.inner-s2::before{
	content: " ";
	position: absolute;
	top:-50px;
	left: 0;
	width: 100%;
	height: 50px;
	background:url("images/common/bg03.png") no-repeat center top;
	background-size:cover;
}
.inner-s2 .slick-dotted.slick-slider{
	margin-bottom: 10px;
}
.lh01{line-height:1 !important;}
.lh02{line-height:2  !important;}
.lh03{line-height:2.5  !important;}
.f-min{
	font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","HG明朝E", "メイリオ", Meiryo, serif;
}
.span01{
	padding-bottom: 10px;
	border-bottom: dotted 3px #fff;
}
.span02{
	padding-bottom: 5px;
	border-bottom: solid 2px #ff001a;
}
.tstyle01{
	font-size:110%;
	text-shadow: 1px 1px 0 #ff001a;
}
.tstyle02{
	font-size:110%;
	text-shadow: 1px 1px 0 #0e328d;
}
/* タイトル装飾 */
.hstyle01{
	padding: 15px 10px;
	background: #ff001a;
	font-weight: bold;
	font-size:120%;
	color: #fff;
	border-radius: 5px;
}
.hstyle01.blue{
	background: #0e328d;
}
.hstyle02 .en{
	text-align: center;
	font-size:11vw;
	font-weight: bold;
}
.hstyle02 .ttl{
	text-align: center;
	font-weight: bold;
}
.hstyle03 .icon img{
	height: 30px;
}
.hstyle03 .ttl{
	font-size:140%;
}
.hstyle04{
	position: relative;
	text-align: center;
}
.hstyle04::before{
	content: " ";
	width: 100%;
	height: 1px;
	background: #ff001a;
	position: absolute;
	top:50%;
	left: 0;
	z-index: 1;
}
.hstyle04 span{
	padding: 0 10px;
	position: relative;
	z-index: 2;
	background: #fff;
}
.oh{overflow:hidden;}
.blk{
	display:block;
}
.underline{
	text-decoration: underline;
}
.img100 {
    height: auto;
    width: 100%;
}
table{
	width:100%;
	border-top:solid 1px #ff001a;
	border-left:solid 1px #ff001a;
	background: #fff;
	 border-collapse: separate;/*collapseから変更*/
	border-radius: 5px;
  overflow: hidden;
}

table tr:first-of-type th{
	border-radius: 5px 0 0 0;
}
table tr:first-of-type td{
	border-radius:0 5px 0 0;
}
table tr:last-of-type th{
	border-radius:0 0 0 5px;
}
table tr:last-of-type td{
	border-radius:0 0 5px 0;
}
td,th{
	padding:10px;
	font-weight: normal;
}
table th{
	text-align: center;
	border-right:solid 1px #ff001a;
	border-bottom:solid 1px #ff001a;
	width: 25%;
}
table td{
	border-right:solid 1px #ff001a;
	border-bottom:solid 1px #ff001a;
}

ol li{
	list-style-type: decimal;
	margin-left: 20px;
}
/* 枠装飾 */
.link01 a{
	display: inline-block;
	min-width:150px;
	padding: 10px 30px 10px 20px;
	border: solid 1px #ff001a;
	background: #fff url("images/common/list01.png") no-repeat right 15px center;
	background-size:10px;
	color: #ff001a;
	text-decoration: none;
	text-align: center;
	transition: 0.5s;
	border-radius: 50px;
}
.link01 a:hover{
	background: #fff url("images/common/list01.png") no-repeat right 10px center;
	background-size:10px;
	transform: scale(1.03);
}
.link01.blue a{
	border: solid 1px #0e328d;
	background: #0e328d url("images/common/list02.png") no-repeat right 15px center;
	background-size:10px;
	color: #fff;	
}
.link01.blue a:hover{
	background: #0e328d url("images/common/list02.png") no-repeat right 10px center;
	background-size:10px;
}
.link01.black a{
	border: solid 1px #333;
	background: #333 url("images/common/list02.png") no-repeat right 15px center;
	background-size:10px;
	font-size:90%;
	color: #fff;	
}
.link01.black a:hover{
	background: #333 url("images/common/list02.png") no-repeat right 10px center;
	background-size:10px;
}
.link01.oubo a{
	min-width: 230px;
	background: #ff001a url("images/common/list02.png") no-repeat right 15px center;
	background-size:10px;
	color: #fff;	
}
.link01.oubo a:hover{
	background: #ff001a url("images/common/list02.png") no-repeat right 10px center;
	background-size:10px;
}
.boxstyle01{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.boxstyle01.rev{
	flex-direction: row-reverse;
}
.boxstyle01.center{
	align-items: center;
}
.ulstyle01{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.ulstyle01 li{
	width: 48%;
}
.ulstyle02 li{
	margin-left: 20px;
	list-style-type: disc;
}
.ulstyle03 li{
	position: relative;
	margin-bottom: 5px;
	padding-left: 20px;
	line-height: 1.4;
}
.ulstyle03 li::before{
	content: "＊";
	position: absolute;
	left: 0;
}
.wid01{
	width:48%;
}
.wid02{
	width:50%;
}
.dlstyle01{
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #ffebb1;
}
.dlstyle01 dt{
	width:25%;
	padding: 10px;
}
.dlstyle01 dd{
	width:75%;
	padding: 10px;
	font-size:85%;
}
.box01{
	background: #ffebb1;
	padding: 5px 10px;
	line-height: 1.5;
}
.box02{
	border:solid 1px #ff001a;
	background: #fff;
	border-radius: 5px;
}
.box02 .top{
	border-bottom:solid 1px #ff001a;
	padding:15px;
	text-align: center;
}
.box02 .top .ttl1{
	padding:2px 10px;
	display: inline-block;
	background: #ff001a;
	color: #fff;
	border-radius: 5px;
}
.box02 .boxstyle01 ul{
	width: 50%;
}
.box02 ul:first-of-type{
	border-right:solid 1px #ff001a;
}
.box02 ul li{
	padding: 7px;
	border-bottom:solid 1px #ff001a;
}
.box02 ul li.bor-none{
	border-bottom:none;
}
.box02 ul li dl{
	display: flex;
}
.box02 ul li dl dt,.box02 ul li dl dd{
	width: 50%;
	text-align: center;
}
.box02 .bottom{
	border-top:solid 1px #ff001a;
	padding:10px;
}
.box02.honbustaff ul{
	border-right:none !important;
}
.box02.honbustaff ul dl dt{width: 65%;}
.box02.honbustaff ul dl dd{width: 35%;}
.box03{
	background: #f7f3f3;
	padding:15px;
}
.box03 .en{
	padding:2px 10px;
	display: inline-block;
	background: #ff001a;
	color: #fff;
	border-radius: 5px;
}
/*------------------------------------------------------------------
	全体レイアウト
------------------------------------------------------------------*/
#main .container{
	background: #fff;
	max-width: 500px;
	margin: 0 auto;
}

/*ーーーーーーーーーー
.header
ーーーーーーーーーーー*/
.header {
  position: sticky;
  top: 0;
  padding:5px 10px;
  background: #fff;
  z-index: 10; /* ボタンは画面固定で更に上に置く */
}
.header .site-title{
	margin-bottom: 5px;
}
.header .site-title img {
	width: auto;
	height:40px;
}
.header .site-text{
	font-size:3.5vw;
}
.headder-link,.header-wrap .site-text2{
	display: none;
}
/* ========== Hamburger button ========== */
.el_humburger {
  position: fixed;
  top: 5px;
  right: 12px;
  z-index: 2000;
  width: 40px;
  height: 40px;
  border: none;
  background: transparent; /* 背景なし */
  cursor: pointer;
  padding: 0;
}

/* 3本線 */
.el_humburger > span {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: #111;
  margin: auto;
  transition: transform .25s ease, opacity .25s ease, top .25s ease, bottom .25s ease;
  width: 100%;
}

/* 各線の位置 */
.el_humburger > span.top { top: 10px; }
.el_humburger > span.middle { top: 19px; }
.el_humburger > span.bottom { bottom: 10px; }

/* open時：Xに変化 */
body.js_humburgerOpen .el_humburger > span.top {
  top: 19px;
  transform: rotate(45deg);
}
body.js_humburgerOpen .el_humburger > span.middle {
  opacity: 0;
}
body.js_humburgerOpen .el_humburger > span.bottom {
  bottom: auto;
  top: 19px;
  transform: rotate(-45deg);
}
body.js_humburgerOpen .el_humburger > span{
	background: #fff;
}
/* ========== Fullscreen overlay nav ========== */
.uq_spNavi {
  position: fixed;
  inset: 0;
  z-index: 1500;
  display: block;         /* 常時生成しておき、表示は透明度で切替 */
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}
.uq_spNavi_screen {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.8);
  backdrop-filter: blur(6px);
  -webkit-overflow-scrolling: touch;
  overflow-y: auto;
}

/* 表示状態 */
.uq_spNavi.js_appear {
  opacity: 1;
  pointer-events: auto;
}

/* ========== Menu list ========== */
/*.menu-root, .menu-root ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.navigation {
  padding: 30px 16px 24px;
  text-align: center;
}
.menu-root > li { margin: .5rem 0; }
.menu-root a {
  display: inline-block;
  text-decoration: none;
  padding: 8px 5px;
	color: #fff;
  transition: color .2s ease;
}

.menu-root li a {
    display: block;
    border-bottom: solid 1px #666;
}*/

.menu__second-level {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2列 */
  gap: 3px 16px; /* 行間・列間 */
  padding: 10px 0;
}
.menu__second-level2 {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 2列 */
  gap: 3px 16px; /* 行間・列間 */
  padding: 10px 0;
}
.menu__second-level li.sub ,.menu__second-level2 li.sub  {
  list-style: none;
    width: 100%;
    font-size: 14px;
  background: rgba(255,255,255,0.4);
  padding:5px;
  text-indent: -10px;
}
.accordion ul.submenu li{
  background: rgba(255,255,255,0.4);
  /*padding: 5px;*/
}

.submenu li a{
	display:block;
	margin:5px;
}

/* ========== Menu list ========== */

.menu-root {
  list-style: none;
  padding: 0;
  margin: 50px 0 0;
}
.menu-root a {
  text-decoration: none;
	color:#fff;
}

.menu-root li.accordion{
	padding-left:10px;
	margin:2px 0 3px 0;
	color:#fff;
}

.menu-root li a{
	padding-left:10px;
	margin:2px 0 3px 0;
	color:#fff;
}

.menu-root > li {
  position: relative;
  padding: 12px 5px 12px 0;
  cursor: pointer;
  transition: background-color .3s ease;
}

/* + アイコン（右上固定） */
.menu-root > li.accordion::after {
  content: "+";
  position: absolute;
  right: 10px;
  top: 8px; /* ← ここで上に配置 */
  font-size: 20px;
  transition: transform .3s ease, opacity .3s ease;
  color:#ff001a;
  padding-right: 14px;
}

/* - アイコン（open時） */
.menu-root > li.open.accordion::after {
  content: "−";
}


/* 背景色（開いている項目のみ）
.menu-root > li.open {
  background: #f3f3f3;
} */

/* submenu 初期状態は閉じる */
.menu-root .submenu {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height .4s ease, opacity .3s ease;
  /*margin-left: 20px;*/
  list-style: none;
  padding: 0;
}

/* 開いている submenu */
.menu-root li.open > .submenu {
  max-height: 800px; /* 充分に大きめの値 */
  opacity: 1;
}

.menu-root a{
		padding:7px 10px;
		color: #333;
		display: block;
		background: url("images/common/list01.png") no-repeat right 20px center;
		background-size:8px;
		transition: 0.5s;
	color:#000;
	}
	.menu-root a:hover{
		background: url("images/common/list01.png") no-repeat right 15px center;
		background-size:8px;
		color: #ff001a;
	}

		.menu-root li:last-of-type{
		/*border-radius:0 0 10px 10px;*/
		border-top:solid 1px #f7f3f3;
	}
	.menu-root .accordion .submenu li:last-of-type{
		border-top:none;}
/* ========== Scroll lock（モバイル時） ========== */
body.js_fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  overflow: hidden;
}


/* ========== Footer Accordion ========== */
#contact-sec{
	padding:12% 5%;
}
footer{
	margin-bottom: 70px;
}
footer .top{
	padding: 0 5% 10px;
}
footer .bottom {
	/*border-top:solid 1px #fff;*/
	padding: 10px 5% 0;
}
footer .bottom p{
	line-height: 1.4;
	font-size:70%;
}
/* 見出し部分 */
.foot-acc h2 {
	margin-bottom:15px;
  position: relative;
  cursor: pointer;
  color: #fff;
}

/* + / - の表示 */
.foot-acc h2::before {
  content: "＋";
  position: absolute;
  right: 0.8em;
  top: 50%;
  transform: translateY(-50%);
  font-weight: bold;
  font-size: 1.2em;
  transition: transform .3s;
}
.foot-acc.open h2::before {
  content: "−";
}

/* .inner の開閉アニメーション */
.foot-acc .inner {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: all .4s ease;
}

.foot-acc.open .inner {
  max-height: 1000px; /* 十分に大きい値 */
  opacity: 1;
}

/* リスト */
.foot-acc .foot-list {
	border: solid 1px #ff001a;
	border-radius: 5px;
}
.foot-acc .foot-list li a {
  display: block;
  padding: 10px;
	border-bottom: solid 1px #ff001a;
  color: #333;
	font-size:90%;
	background: #fff url("images/common/list01.png") no-repeat right 10px center;
	background-size:8px;
  text-decoration: none;
}
.foot-acc .foot-list li:first-of-type a{
	border-radius: 5px 5px 0 0;
}
.foot-acc .foot-list li:last-of-type a{
	border-radius: 0 0 5px 5px;
}
/* リスト */
.foot-acc .foot-list2 {
	border: solid 1px #ff001a;
  display: flex;
	flex-wrap: wrap;
	border-radius: 5px;
}
.foot-acc .foot-list2 li{
	width: 50%;
}
.foot-acc .foot-list2 li a {
  display: block;
  padding: 10px;
	border-bottom: solid 1px #ff001a;
  color: #333;
	font-size:90%;
	background: #fff;
  text-decoration: none;
	text-align: center;
}
.foot-acc .foot-list2 li:nth-of-type(even) a{
	border-left: solid 1px #ff001a;	
} 
.foot-acc .foot-list2 li:first-of-type a{
	border-radius: 5px 0 0 0;
}
.foot-acc .foot-list2 li:nth-of-type(2) a{
	border-radius: 0 5px 0 0;
}
.foot-acc .foot-list2 li:nth-last-child(2) a{
	border-radius: 0 0 0 5px;
}
.foot-acc .foot-list2 li:last-of-type a{
	border-radius: 0 0 5px 0;
}
 /*-----------footer------------*/
.footism{
	border-top:solid 1px #f7f3f3;
	padding: 5px 10px;
	width: 100%;
    position: fixed;
	left: 0;
	bottom:50px;
	background: #fff;
}
.footblog a{
	display: block;
	position: fixed;
	bottom:60px;
	right:10px;
	width: 60px;
	height: 60px;
	padding: 10px;
	background: #333;
	border-radius: 50%;
}
#footerFloatingMenu {
    display: block;
    width: 100%;
    position: fixed;
    left: 0px;
    bottom: 0px;
    z-index:8;
    text-align: center;
}
 
#footerFloatingMenu ul {
    display: flex;
} 
	#footerFloatingMenu ul li{
		width: 27%;
		height: 50px;
		line-height: 1;
	}
#footerFloatingMenu ul li:last-of-type{
		width: 19%;
	}
	#footerFloatingMenu ul li:first-child{
		border-right:solid 1px #fff;
	background: #f6ab0b;
	}
	#footerFloatingMenu ul li:nth-child(2){
		border-right:solid 1px #fff;
	background: #32d252;
	}
#footerFloatingMenu ul li:nth-child(3){
		border-right:solid 1px #fff;
	background: #519cde;
	}
#footerFloatingMenu ul li:nth-child(4){
	background: #0e328d;
	}
	#footerFloatingMenu ul li a{
		position: relative;
		display: block;
		width: 100%;
		height: 100%;
		text-decoration: none;
		text-align: center;
		padding:5px 0;
		color: #fff;
		font-size:11px;
	}

	#footerFloatingMenu ul li:first-of-type img{
		width: 31px;
	}
#footerFloatingMenu ul li:nth-of-type(2) img{
	margin-top: 1px;
		width: 24px;
	}
#footerFloatingMenu ul li:nth-of-type(3) img{
	margin-top: 3px;
		width: 30px;
	}
#footerFloatingMenu ul li:last-of-type {
	padding:6px 0;
	line-height: 1.3;
}
#footerFloatingMenu ul li div{
	position: absolute;
	width: 100%;
	left: 0;
	bottom: 5px;

}

.footerlist {
	display: flex;
	justify-content: center; /* 中央揃え */
	gap: 20px;               /* li 同士の余白（調整可） */
	padding: 0;
	margin: 10px auto;
}

.footerlist li a{
    list-style: none;
    font-size:85%;
}
/*------------モーダル-----------------*/

.modal {
  display: none;
  height: 100%;
  position: fixed;
  top: 0px;
  width: 100%;
  z-index: 999;
}

.modal__bg {
  background: rgba(0, 0, 0, 0.9);
  height: 100%;
  position: absolute;
  width: 100%;
}

.modal__content {
  left: 50%;
  padding: 10%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
	height: 100%;
	overflow: auto;
	
}
.modal__content ul{
	max-width: 380px;
	margin: 0 auto;
}
.modal__content ul li a {
	position: relative;
  display: block;
  padding: 10px;
  text-decoration: none;
  background: #ff001a;
  color: #fff;
  margin-bottom: 15px;
	text-align: center;
	border-radius: 20px;
}
.modal__content ul li a::before{
	content: " ";
	position: absolute;
	right:15px;
	top:50%;
	transform: translateY(-50%);
	width: 10px;
	height: 15px;
	background: url("images/common/list02.png") no-repeat center center;
	background-size:100%;
}
.modal__content ul.f-tel a {
  background: #f6ab0b url("images/common/c_tel.png") no-repeat 12% center;
  background-size: 15px;

}
.modal__content ul.f-line a {
  background: #59ce6f url("images/common/c_line.png") no-repeat 10% center;
  background-size: 20px;
}

.modal__content ul.f-blog a {
	color:#000;
  background: #fff ;
  background-size: 20px;
}

.f-blog li:nth-child(6) ,
.f-blog li:nth-child(10) ,
.f-blog li:nth-child(11) ,
.f-blog li:nth-child(12)  {
  background-color: #636363; /* 好きな色に変更 */
  color: #000; /* 文字色が必要なら調整 */
  display: block;
  margin-bottom: 15px;
	text-align: center;
	border-radius: 20px;
  padding: 10px;
}


/* 共通レイアウト（2列横並び + 余白） */
.f-line,
.f-tel {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.f-line li,
.f-tel li {
  width: calc(50% - 10px);
  list-style: none;
}

.f-line li a,
.f-tel li a {
  display: block;
  padding: 10px;
}

/* 最後のアイテムだけ色変更 */
.f-line li:last-child a {
  background-color: #18ed0d;
}

.f-tel li:last-child a {
  background-color: #f5390a;
}

.f-blog{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.f-blog li{
  width: calc(50% - 10px);
  list-style: none;
}

.f-blog li a{
  display: block;
  padding: 10px;
}



#modal01 .text,#modal02 .text{
	color: #fff;
	text-align: center;
	margin-bottom: 20px;
}
.close {
  margin: 0 auto;
  margin-top: 30px;
}

.close a {
  width: 100px;
  margin: 10px auto;
  display: block;
  text-align: center;
  text-decoration: none;
  background: #fff;
  padding: 5px 10px;
  color: #1a1a1a;
  border-radius: 5px;
}

/*------------------パンくず----------------*/
#breadcrumb ul{
	padding:5px;
	display: flex;
	flex-wrap: wrap;
}
#breadcrumb ul li{
	font-size:70%;
}
.home #breadcrumb{
	margin-bottom: 15px;
	}
/*------------------下層ページ----------------*/
#subimage{
	padding:10% 0;
	background: url("images/common/subimage.jpg") no-repeat center bottom;
	background-size:cover;
}
#subimage .hstyle02 .en{
	font-size:10vw;
	text-transform:capitalize;
}

/*-----------------【続きを読む】をクリックで開く----------------*/
/* コンテナ */
.cp_box {
  position: relative;
}

/* チェックボックスは視覚的に隠すが、キーボード操作できる状態を維持 */
.cp_toggle {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0; border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden; white-space: nowrap;
}

/* ボタン（ラベル） */
.cp_btn {
	position: absolute;
	bottom:20px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
	display: inline-block;
	padding:15px 50px 15px 20px;
	background: #333;
	color: #fff;
	border-radius: 20px;
	cursor: pointer;
	user-select: none;
	font-size:90%;
	line-height: 1;
}
/* 閉じているとき：下向き（画像そのまま） */
.cp_btn::after {
  content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  width: 16px;
  height: 16px;
  background: url("images/common/list04.png") no-repeat center;
  background-size: contain;
  transform: translateY(-50%) rotate(0deg);
  transition: transform .3s ease;
}

/* 開いているとき：画像を180度回転 → 上向きになる */
.cp_toggle:checked + .cp_btn::after {
  transform: translateY(-50%) rotate(180deg);
}
.cp_btn:focus-within,
.cp_btn:focus-visible {
  outline: 2px solid #1d77b2;
  outline-offset: 2px;
}

/* 「続きを読む」/「閉じる」の表示切替（CSSのcontentで文字を出さない） */
.cp_btn .less { display: none; }
.cp_toggle:checked + .cp_btn .more { display: none; }
.cp_toggle:checked + .cp_btn .less { display: inline; }

.cp_toggle:checked + .cp_btn{
	bottom:-50px;
}

/* 折りたたみ本体（height:auto はアニメ不可→ max-heightで疑似スライド） */
.cp_container {
  position: relative;
  overflow: hidden;
  max-height: 9.375rem; /* 150px 相当。好みで調整 */
  transition: max-height .5s ease, opacity .3s ease;
  opacity: 1;
}

/* 下部のフェード（「続きがある感」を出す） */
.cp_container::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 3rem;
  background: linear-gradient(to bottom, rgba(255,255,255,0), #fff);
  pointer-events: none;
  transition: opacity .3s ease;
}

/* 展開時 */
.cp_toggle:checked ~ .cp_container {
  max-height: 200rem; /* 充分に大きい値にして“実質無制限” */
}
.cp_toggle:checked ~ .cp_container::after {
  opacity: 0;
}

/* 省エネモードの人に優しく */
@media (prefers-reduced-motion: reduce) {
  .cp_container { transition: none; }
  .cp_container::after { transition: none; }
}

/* ----------------- FAQ Accordion ----------------- */
.faq-sec {
	padding: 15px;
	background: #fff;
	border-radius: 5px;
}

/* 見出し（全体を開閉） */
.faq-sec .ttl {
  cursor: pointer;
  position: relative;
  font-weight: bold;
	font-size:110%;
}
.faq-sec .ttl::after {
  content: " ";
  position: absolute;
	top:3px;
  right: 10px;
	background: url("images/common/open.png") no-repeat center center;
	background-size:100%;
	width:15px;
	height: 15px;
  transition: transform .3s;
}
.faq-sec.open .ttl::after {
	background: url("images/common/close.png") no-repeat center center;
	background-size:100%;
}

/* 内側のアコーディオン（dtクリックでdd開閉） */
.faq-sec .inner {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: all .4s ease;
}
.faq-sec.open .inner {
  max-height: 1000px; /* 充分な高さを指定 */
  opacity: 1;
}

.faq-sec dl {
  margin-top:10px;
	padding: 2px 0;
	font-size:90%;
}
.faq-sec dt {
	position: relative;
  cursor: pointer;
	padding: 10px 25px 10px 55px;
	background: url("images/common/q.png")no-repeat left 10px center;
	background-size:35px;
	font-weight: bold;
}
.faq-sec dt::after {
  content: "＋";
  position: absolute;
  right:10px;
  top: 50%;
  transform: translateY(-50%);
  font-weight: bold;
  transition: transform .3s;
	font-size:110%;
	color: #333;
}
.faq-sec dt.open::after {
  content: "−";
}

.faq-sec dd {
  display: none;
	margin-top: 10px;
	padding:0px 10px 10px 55px;
	background: url("images/common/a.png")no-repeat left 10px top;
	background-size:35px;
  line-height: 1.6;
  color: #333;
}
.faq-sec dd.open {
  display: block;
}
/*----------------フォーム--------------------*/

input[type=text],input[type=email],textarea{
	width:100%;
	background: #fff;
	padding: 10px;
	margin-bottom: 10px;
	border:none;
	border-radius: 3px;
}
input[type=date]{
	width:100%;
	background: #fff;
	padding: 10px;
	margin-bottom: 10px;
	border:none;
	border-radius: 3px;
}
input[type=text]#nenrei{
	width: 80px;
	text-align: center;
	margin-right: 10px;
}
input[type=checkbox]{
	margin-right: 5px;
}
input[type=radio]{
	margin-right: 5px;
}
textarea{
	height:200px;
}
select{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    background: transparent;
}
select{
	background: #fff;
	padding: 10px;
	margin-bottom: 10px;
	font-size:90%;
	border:none;
	color: #333;
}

.select01 {
    display: inline-flex;
    align-items: center;
    position: relative;
  width: 100%;
}
.select01::after {
    position: absolute;
    right: 10px;
    width: 10px;
    height: 7px;
    background-color: #535353;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}

.select01 select {
    appearance: none;
    padding:10px 30px 10px 10px;
	border:none;
	border-radius: 3px;
    background-color: #fff;
    color: #333333;
    font-size: 1em;
    cursor: pointer;
  width: 100%;
}
input::placeholder,textarea::placeholder {
  color: #aaa;
}
input[type=submit]{
	display: inline-block;
	min-width:150px;
	padding: 10px 30px 10px 20px;
	border: solid 1px #ff001a;
	background: #fff url("images/common/list01.png") no-repeat right 15px center;
	background-size:10px;
	color: #ff001a;
	text-decoration: none;
	text-align: center;
	transition: 0.5s;
	border-radius: 50px;
}
input[type=submit]:hover{
	background: #fff url("images/common/list01.png") no-repeat right 10px center;
	background-size:10px;
	transform: scale(1.03);
}
/*----------------ブログ--------------------*/
#blog02 ul{
	max-width: 370px;
	margin: 0 auto;
	border:solid 1px #ff001a;
	border-bottom: none;
	background: #fff;
}
#blog02 ul li a{
	display: flex;
	border-bottom:solid 1px #ff001a;
	text-decoration: none;
}
#blog02 ul li a .photo{
	display: block;
	width: 30%;
	min-height: 100px;
    background-position: center center !important;
    background-size: cover !important;

}
#blog02 ul li a .photo figure{
	text-align: center;
}
#blog02 ul li a .text{
    padding: 10px;
    width: 70%
}
#blog02 ul li a .text .date {
    display: block;
    color: #aaa;
    font-size: 85%;
    margin-bottom: 5px
}
#blog02 ul li a .text p{
	font-size:90%;
	line-height: 1.4;
}
.archivebox{
	max-width: 370px;
	margin: 0 auto;
}
.archivebox a{
	display: block;
	position: relative;
	padding: 10px;
	border:solid 1px #ff001a;
	margin-bottom: 20px;
	transition: 0.5s;
	background: #fff;
	border-radius: 5px;
	text-decoration: none;
}
.archivebox .photo{
	position: relative;
	margin-bottom: 10px;
}
.archivebox .photo figure{
	text-align: center;
}
.archivebox .photo .cate{
	padding: 0 10px;
	position: absolute;
	left: 0;
	bottom:0;
	background: #ff001a;
	color: #fff;
}
.archivebox .text{
	margin-bottom: 10px;
}

.archivebox .text .date{
	font-size:85%;
	margin-bottom: 5px;
	color: #aaaaaa;
}
.archivebox .text h3{
	font-size:110%;
	margin-bottom: 10px;
	font-weight: bold;
	line-height: 1.5;
}
.archivebox .text p{
	font-size:90%;
	line-height: 1.6;
}
.single article .inner{
	margin-bottom: 30px;
	background: #fff;
	border:solid 1px #ff001a;
	border-radius: 5px;
}
.single article .date{
	padding: 20px 20px;
	font-size:90%;
}
.single article .ttl{
	padding:0 20px 20px 20px;
	border-bottom:solid 1px #ff001a;
}
.single article.keyword .ttl{
	padding-top: 20px;
}
.single article .text{
	padding: 20px;
}
.single article .text p{
	margin-bottom: 20px;
}

.relate{
	display: flex;
	flex-wrap: wrap;
}
.relate li{
	width: 50%;
	padding: 10px;
}
.relate li figure{
	margin-bottom: 10px;
}
.relate li p{
	line-height: 1.4;
	font-size:90%;
}
.adjacent_post_links ul{
	display: flex;
	justify-content: space-between;
}

.adjacent_post_links ul li a{
	display: block;
	padding: 10px 20px;
	border:solid 1px #ff001a;
	color: #ff001a;
	background: #fff;
	font-size:90%;
	text-decoration: none;
	border-radius: 3px;
}
/*Pagenation*/
.pagination {
	clear: both;
	position: relative;
	line-height: 1em;
        text-align: center;
}
.pagination-box {
	display: inline-block;
}
.pagination span, .pagination a {
	display: block;
	float: left;
	margin: 2px 2px 2px 0;
	padding: 10px 14px 10px 14px;
	text-decoration: none;
	width: auto;
	color: #ff001a;
	background:#fff;
	border:solid 1px #ff001a;
	border-radius:3px;
}
.pagination span.page-of {
	background: none;
	color: #ff001a;
	border:none;
}
.pagination a:hover{
	color: #fff;
	background:#ff001a;
	border:solid 1px #ff001a;
}
.pagination .current{
	padding: 10px 14px 10px 14px;
	color: #fff;
	background: #ff001a;
	border:solid 1px #ff001a;
}
@media (max-width: 320px) {
	body{
		font-size:14px;
	}
	.se-dnon{
		display:none;
	}
}
/*●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
↑spサイズ
----------------------------------
↓pcサイズ
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●*/
@media (min-width: 500px) {
	body{
		background: url("images/common/bg01.jpg") no-repeat ;
		background-size:cover;
		background-attachment: fixed;
	}
	.home #breadcrumb{
		margin-bottom: 20px;
	}
	#breadcrumb ul{
		padding: 10px;
	}
	.header-wrap{
		max-width: 500px;
		margin: 0 auto;
		background: none;
	}
	.header{
		margin-bottom: 0;
	}
	.header .site-text{
		font-size:100%;
		text-align:center;
	}
	.header .site-title{
		text-align: center;
	}
	.hstyle02 .en{
		font-size:50px;
	}
	.hstyle03 .ttl{
		font-size:30px;
	}
	.dlstyle01 dd{
		font-size:95%;
	}
	.inner-s1::before,.inner-s2::before{
		background-size:auto;
	}
	#subimage .hstyle02 .en{
		font-size:48px;
	}

	.faq-sec dl{
		font-size:100%;
	}
	.menu__second-level li.sub a {
    /*background: rgba(0, 0, 0, 0.1);*/
    color: #000;
  }
}

/* ========== Desktop ≥ 1000px: 左サイド固定 ========== */
@media (min-width: 1000px) {
	.header-wrap{
		max-width:inherit;
		position: fixed;
		top:0;
		left: 0;
		width: 40%;
		height: 100vh;
		background: #f7f3f3;
	}
	.header{
		background:transparent;
	}
	.header .site-title{
		margin-bottom: 20px;
		padding: 20px;
	}
	.header .site-title img{
		height: 50px;
	}
	.header .site-text{
		display: none;
	}
	.header-wrap .site-text2{
		display: block;
		width: 100%;
		position: absolute;
		left: 0;
		bottom:10px;
		text-align: center;
		font-size:90%;
	}
	.el_humburger{
		display: none;
	}
	.uq_spNavi_screen{
		position: relative;
		background: none;
	}
	.menu-root{
		display: flex;
		flex-wrap: wrap;
		margin: 0;
	}
	.menu-root li{
		width: 100%;
	}
.menu-root li a {
    display: block;
    border-bottom: none;
    color:#000;
  }
  .menu-root a {
  	text-decoration: none;
  	color:#000;
  }
  .menu-root li.accordion{
  	padding-left:10px;
  	margin:2px 0 3px 0;
  	color:#000;
  }
	.menu-root a{
		padding:7px 10px;
		color: #333;
		display: block;
		background: url("images/common/list01.png") no-repeat right 20px center;
		background-size:8px;
		transition: 0.5s;
	color:#000;
	}
	.menu-root a:hover{
		background: url("images/common/list01.png") no-repeat right 15px center;
		background-size:8px;
		color: #ff001a;
	}
	.menu-root li:first-of-type {
		border-radius: 10px 10px 0 0;
	}
		.menu-root li:last-of-type{
		border-radius:0 0 10px 10px;
		border-top:solid 1px #f7f3f3;
	}
	.menu-root .accordion .submenu li:last-of-type{
		border-top:none;
	}
	.menu-root .accordion .submenu li a{
		font-size:90%;
	}

	.menu-root > li{
		margin: 0;
	color:#000;
	}
	.navigation{
		padding:0;
	}
	.uq_spNavi{
		max-width:400px;
		width: 80%;
		margin: 0 auto;
		position: relative;
		opacity:1;
    pointer-events: auto;
    z-index: 100; /* 前面である必要なし */
		background: #fff;
		border-radius: 5px;
	}
	.uq_spNavi_screen{
    backdrop-filter: none;
	}
	#main{
		margin-left:40%;
		width:60%;
	}
	.headder-link{
		max-width: 400px;
		width: 80%;
		margin: 0 auto 40px;
		display: flex;
		justify-content: space-between;
	}
	.headder-link li{
		width: 50%;
	}
	.headder-link li a{
		padding: 20px 20px 20px 60px;
		display: block;
		text-align: center;
		text-decoration: none;
		transition: 0.5s;
	}
	.headder-link li:first-of-type a{
		border:solid 2px #ff001a;
		background: #ff001a url("images/common/head_line_w.png") no-repeat left 25px center;
		background-size:30px;
		color: #fff;
		border-radius: 50px 0 0 50px;
		text-align: center;
	}
	.headder-link li a:hover{
		border: solid 2px #df091f;
		box-shadow: 0 0 3px #df091f;
	}
	.headder-link li:last-of-type a{
		border:solid 2px #ff001a;
		background: #fff url("images/common/head_web_r.png") no-repeat left 30px center;
		background-size:20px;
		color: #ff001a;
		border-radius:0 50px 50px 0;
		text-align: center;
	}
	footer{
		margin-bottom: 0;
	}
	#footerFloatingMenu,.footblog,.footism{
		display: none;
	}
	.modal{
		width: 500px;
		height: 500px;
		left: 50%;
		top:10%;
		margin-left: -250px;
	}

}

/* PC（1024px以上）で nav 内をスクロール */
@media (min-width: 1024px) {
  .uq_spNavi .navigation {
    max-height: 70vh;     /* 画面の高さに応じて調整 */
    overflow-y: auto;     /* 内部スクロール */
    padding-right: 10px;  /* スクロールバー分の余白 */
  }
}

/* スマホではスクロールさせない（今のまま） */
@media (max-width: 1023px) {
  .uq_spNavi .navigation {
    max-height: none;
    overflow: visible;
  }
}
