@charset "utf-8";

/* CSS Document */
/*
Theme Name:Serepi新宿公式サイト ver.1（2026.03.06から）
Theme URI: https://chat-serepi-tokyo.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;
}
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; }

.mr01{margin-right: 3% !important;}
.ml01{margin-left: 3% !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:3%;padding-right: 3%; }
.p03-s { padding-top:5%;padding-bottom:5%; }
.p04-s { padding-left:5%;padding-right:5%; }
.p05-s { padding-top:10%; }
/* 位置クラス
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ▽ */
.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; }/* 配置位置 中央 */

.sp-dnon{display: none;}


/* テキスト
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ▽ */
.f-min{
	font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","HG明朝E", "メイリオ", Meiryo, serif;
}
.f-maru{
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
}
.f-nori{
  font-family: "Norican", cursive;
  font-weight: 400;
  font-style: normal;
}
.bold { font-weight: bold !important; }
.txtRed { color: #ff001a !important; }
.txtBlue { color: #56bedc !important; }
.txtPink { color: #fa798f !important; }
.txtGold { color: #8b6c2e !important; }
.txtGray { color: #666666 !important; }
.txtWhite { color: #FFFFFF !important; }
.txtgreen { color: #2ad6b0 !important; }
.txtorenge{color:#f96256 !important;}
.txtBlack{color: #333 !important;}
.txtBlown{color: #603a40 !important}
.txtYellow{color: #f2b726 !important;}
.txtPurple{color: #b35be1 !important;}
.txtPurple2{color: #e957ef !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: url("images/common/bg03.png");
	background-size:300px;
}
.bg02{
	background: url("images/common/bg05.png") ;
	background-size:50px;
}
.bg03{
	background: url("images/common/bg06.png") ;
}
.bg-ye{
	background: #fbf3c6;
}
.bg-pi{
	background: #f6b8cb;
}
.bg-pi2{
	background: #f8d7e1;
}
.bg-gr{
	background: #d6f7e7;
}
.bg-or{
	background: #fccfc2;
}
.bg-bl{
	background: #bcedfd;
}
.bg-pu{
	background: #f2ccf4;
}
.bg-be{
	background: #f3ebe6;
}
.lh01{line-height:1 !important;}
.lh02{line-height:2  !important;}

/* タイトル装飾 */
.span01{
	background:linear-gradient(transparent 50%, rgba(252,235,139,0.8) 0%) ;
}
.span02{
	  text-shadow    : 
       1px  1px 0px #333333,
      -1px  1px 0px #333333,
       1px -1px 0px #333333,
      -1px -1px 0px #333333,
       1px  0px 0px #333333,
       0px  1px 0px #333333,
      -1px  0px 0px #333333,
       0px -1px 0px #333333;        /* 文字の影 */
}
.span03{
	box-shadow: 1px 1px 5px #ccc;
}
.oh{overflow:hidden;}
.blk{
	display:block;
}
.underline{
	text-decoration: underline;
}
.img100 {
    height: auto;
    width: 100%;
}
table{
	width:100%;
	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-bottom:solid 1px #f6b8cb;
}
table td{
	border-bottom:solid 1px #f6b8cb;
}
table .bornone{
	border-bottom: none;
}
ol li{
	list-style-type: decimal;
	margin-left: 20px;
}
/* 装飾 */
.link01 a{
	position: relative;
	display: inline-block;
	min-width:150px;
	padding: 15px 60px 15px 40px;
	border: solid 5px #fff;
	background:url("images/common/bg01.png");
	color: #fff;
	text-decoration: none;
	text-align: center;
	transition: 0.5s;
	box-shadow: 1px 1px 5px #fa94a5;
	border-radius: 50px;
	font-size:120%;
	font-weight: bold;
  font-family: "Zen Maru Gothic", sans-serif;
}
.link01.blue a{
	background:url("images/common/bg02.png");
	box-shadow: 1px 1px 5px #56bedc;
}
.link01 a:hover{
	transform: scale(1.03);
}
.link01 a::after{
	content: " ";
	position: absolute;
	top:50%;
	right:15px;
	transform:translateY(-50%);
	background: url("images/common/list1.png") no-repeat right center;
	background-size:100%;
	width: 17px;
	height: 20px;
}
.link02 a{
	position: relative;
	display: inline-block;
	min-width:100px;
	padding: 10px 40px 10px 20px;
	background:#413f3f url("images/common/list2.png") no-repeat right 15px center;
	background-size:10px;
	color: #fff;
	text-decoration: none;
	text-align: center;
	transition: 0.5s;
	box-shadow: 1px 1px 5px #fa798f;
	border-radius: 50px;
  font-family: "Zen Maru Gothic", sans-serif;
}
.link02 a:hover{
	transform: scale(1.03);
}
.hstyle01{
	position: relative;
	text-align: center;
}
.hstyle01::before{
	content: " ";
	position: absolute;
	left: 0;
	top:50%;
	transform: translateY(-50%);
	width: 100%;
	height: 10px;
	background: #f69aab;
	z-index: 1;
}
.hstyle01 .bg{
	position: relative;
	z-index: 2;
	padding: 0 20px;
	display: inline-block;
	background: #f6b8cb;
	font-size:140%;
  text-shadow    : 
       1px  1px 0px #ffffff,
      -1px  1px 0px #ffffff,
       1px -1px 0px #ffffff,
      -1px -1px 0px #ffffff,
       1px  0px 0px #ffffff,
       0px  1px 0px #ffffff,
      -1px  0px 0px #ffffff,
       0px -1px 0px #ffffff;
}
.hstyle01.purple::before{
	background: #f0adf3;	
}
.hstyle01.purple .bg{
	background: #f2ccf4;
}
.hstyle01.beige::before{
	background: #fbd4cb;	
}
.hstyle01.beige .bg{
	background: #f3ebe6;
}
.hstyle01.blue::before{
	background: #93dcf4;
}
.hstyle01.blue .bg{
	background: #bcedfd;
}
.hstyle01.green::before{
	background: #9dedd6;
}
.hstyle01.green .bg{
	background: #d6f7e7
}
.hstyle01.pink .bg{
	background: #f8d7e1;
}
.hstyle02{
	font-size:170%;
	text-align: center;
  text-shadow    : 
       1px  1px 0px #333333,
      -1px  1px 0px #333333,
       1px -1px 0px #333333,
      -1px -1px 0px #333333,
       1px  0px 0px #333333,
       0px  1px 0px #333333,
      -1px  0px 0px #333333,
       0px -1px 0px #333333; 
	font-weight: bold;
	color: #fff;
}
.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%;
}

.wid01{
	width:48%;
}
.wid02{
	width:50%;
}
.wid03{
	width:36%;
}
.wid04{
	width:60%;
}
.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{
	padding:30px 20px 20px;
	position: relative;
	background: #fff;
	border-radius: 10px;
}
.box01 .ttl1{
	position: absolute;
	top:-25px;
	left: 0;
	width: 100%;
	text-align: center;
}
.box01 .ttl2{
	display: inline-block;
	padding: 8px 20px;
	background: #fa798f;
	color: #fff;
	font-size:110%;
}
.box01 .ttl2.blue{
	background: #56bedc;
}
.box01 .ttl2.blue2{
	background: #2d9bbb;
}
.box01 .ttl2.green{
	background: #2ad6b0;
}
.box01 .ttl2.glay{
	background: #a0a0a0;
}
.box01 .ttl2.purple1{
	background: #e957ef;
}
.box01 .ttl2.purple2{
	background: #b35be1;
}
.box01 .ttl2.yellow{
	background: #f8c011;
}
.box01 p{
	line-height: 1.6;
}
.point1 li{
	position: relative;
	padding:0 15px 15px;
	background: #fff;
	border-radius: 10px;
}
.point1 li .point img{
	padding:8px;
	position: absolute;
	left: 10px;
	top:-20px;
	width:50px;
	background: url("images/common/point_bg1.png") no-repeat center top;
	background-size:100%;
}
.point1 li .ttl1{
	margin-bottom:15px;
	padding-bottom: 5px;
	border-bottom:solid 1px #fa798f;
	display: flex;
	align-items: center;
	line-height:1;
}
.point1 li .ttl1 .no{
	width: 40px;
	margin-top: -5px;
	margin-right: 10px;
	font-size:300%;
	text-align: center;
}
.point1 li .ttl1 .ttl2{
	padding-top: 10px;
	font-size:4.5vw;
}
.point1 li p{
	line-height: 1.4;
}
.check li{
	padding: 5px 0 5px 25px;
	background: url("images/common/check1.png") no-repeat left center;
	background-size:18px;
	line-height: 1.3;
}


#main .container{
	background: #fff;
	max-width: 500px;
	margin: 0 auto;
}
/*------------------------------------------------------------------
	全体レイアウト
------------------------------------------------------------------*/
/*ーーーーーーーーーー
.header
ーーーーーーーーーーー*/
.header {
	position: absolute;
	left: 0;
	top:0;
	z-index: 3;
	width: 100%;
}
.header .site-title{
	text-align: center;
}
.header .site-title img{
	height:30px;
}
.header .site-text{
	padding-top:1%;
	font-size:70%;
	text-align: center;
	color:#fff;
}
.pclogo{display: none;}
/* ========== Hamburger button ========== */
.el_humburger {
  position: fixed;
  top: 5px;
  right: 12px;
  z-index:9;
  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);
}

/* ========== Fullscreen overlay nav ========== */
.uq_spNavi {
  position: fixed;
  inset: 0;
  z-index: 8;
  display: block;         /* 常時生成しておき、表示は透明度で切替 */
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}
.uq_spNavi_screen {
  position: absolute;
  inset: 0;
  background: #fbf0f3;
  -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: block;
  text-decoration: none;
  padding: 8px 10px;
	font-size:90%;
  transition: color .2s ease;
	text-align: center;
}


/* ========== Scroll lock（モバイル時） ========== */
body.js_fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  overflow: hidden;
}



 /*-----------footer------------*/
footer{
	padding-bottom: 50px;
}
footer .copy{
	padding: 5px;
	font-size: 70%;
	line-height: 1.4;
}
footer ul{
	display: flex;
	flex-wrap: wrap;
}
footer ul li{
	width: 50%;
}
footer ul li a{
	padding: 15px 0;
	display: block;
	text-decoration: none;
	text-align: center;
	font-size:90%;
}
footer ul li a{
	border-bottom:solid 1px #fa798f;
}
footer ul li a:hover{
	text-decoration: none;
}
footer ul li:nth-of-type(odd) a{
	border-right:solid 1px #fa798f;
}
footer ul li:first-of-type a,footer ul li:nth-of-type(2) a{
	padding-top: 25px;
}
#footerFloatingMenu {
    display: block;
    width: 100%;
    position: fixed;
    left: 0px;
    bottom: 0px;
    z-index:3;
    text-align: center;
}
 
#footerFloatingMenu ul {
    display: flex;
} 
	#footerFloatingMenu ul li{
		width: 33.3%;
		height: 50px;
		line-height: 1;
	}
	#footerFloatingMenu ul li:first-child{
	background: #00b900;
	}
	#footerFloatingMenu ul li:nth-child(2){
	background: #fac84c;
	}
#footerFloatingMenu ul li:nth-child(3){
	background: #fa798f;
	}
	#footerFloatingMenu ul li a{
		padding-top: 21px;
		position: relative;
		display: block;
		width: 100%;
		height: 100%;
		text-decoration: none;
		text-align: center;
		color: #fff;
		font-size:11px;
	}
#footerFloatingMenu ul li img{
	position: absolute;
	left: 50%;
	top:5px;
	transform: translateX(-50%);
}
	#footerFloatingMenu ul li:first-of-type img{
		width: 26px;
	}
#footerFloatingMenu ul li:nth-of-type(2) img{
	top:8px;
		width: 25px;
	}
#footerFloatingMenu ul li:nth-of-type(3) img{
		width: 25px;
	}


#contactus{
	margin-top: -15px;
	padding: 30px 20px 40px;
	background: url("images/common/contact_bg1.png") no-repeat center top;
	background-size:cover;
}
#contactus h2{
  text-shadow    : 
       1px  1px 0px #ffffff,
      -1px  1px 0px #ffffff,
       1px -1px 0px #ffffff,
      -1px -1px 0px #ffffff,
       1px  0px 0px #ffffff,
       0px  1px 0px #ffffff,
      -1px  0px 0px #ffffff,
       0px -1px 0px #ffffff;
	font-weight: bold;
}
#contactus h2 img{
	margin-top: 10px;
	width: 80px;
}
#contactus ul{
	max-width: 360px;
	margin: 0 auto;
	padding: 0 5%;
}
#contactus ul li a{
	display: block;
	background: #fff url("images/common/contact_icon1.png") no-repeat left 27px center;
	background-size:auto 40px;
	padding:20px 20px 20px 60px;
	box-shadow: 0 0 5px #f2877e;
	border-radius: 50px;
	text-align: center;
	text-decoration: none;
}

#contactus ul li.mail a{
	background: #fff url("images/common/contact_icon2.png") no-repeat left 32px center;
	background-size:35px;
}
#contactus ul li.tel a{
	background: #fff url("images/common/contact_icon3.png") no-repeat left 35px center;
	background-size:35px;
}
/*------------------パンくず----------------*/
#breadcrumb ul{
	float: right;
	padding:5px;
	display: flex;
	flex-wrap: wrap;
}
#breadcrumb ul li{
	font-size:70%;
}
#breadcrumb::after{
	content: " ";
	display: block;
	clear: both;
}
/* ========== 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:5px;
	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:10px 10px 10px 55px;
	background:#fbf3c6 url("images/common/a.png")no-repeat left 10px top 10px;
	background-size:35px;
  line-height: 1.6;
  color: #333;
}
.faq-sec dd.open {
  display: block;
}
/* コンテナ */
.cp_box {
	padding-bottom: 50px;
  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:10px;
	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/open.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:0;
}

/* 折りたたみ本体（height:auto はアニメ不可→ max-heightで疑似スライド） */
.cp_container {
  position: relative;
  overflow: hidden;
  max-height:250px; /* 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; }
}

/*----------------フォーム--------------------*/
.hissu{
	margin-left: 5px;
	padding: 2px 5px;
	display: inline-block;
	background: #ec7b8e;
	color: #fff;
	line-height: 1;
	font-size: 85%;
	border-radius: 2px;
}
input[type=text],input[type=email],textarea{
	width:100%;
	background: #fff;
	padding: 10px;
	border:none;
	border-radius: 3px;
}
input[type=date]{
	width:100%;
	background: #fff;
	padding: 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{
	background: #fff;
	padding: 10px;
	border:none;
	color: #333;
	border-radius: 3px;
}


input::placeholder,textarea::placeholder {
  color: #aaa;
}
input[type=submit]{
	display: inline-block;
	min-width:200px;
	padding: 15px 30px 15px 20px;
	border: none;
	background:#413f3f url("images/common/list2.png") no-repeat right 15px center;
	background-size:10px;
	color: #fff;
	text-decoration: none;
	text-align: center;
	transition: 0.5s;
	border-radius: 50px;
  font-family: "Zen Maru Gothic", sans-serif;
}
input[type=submit]:hover{
	transform: scale(1.03);
}

/*----------------ブログ--------------------*/
.bloglist{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.archivebox{
	width: 48%;
}
.archivebox a{
	display: block;
	position: relative;
	padding: 10px;
	margin-bottom: 20px;
	transition: 0.5s;
	background: #fff;
	border-radius: 5px;
	text-decoration: none;
}
.archivebox figure{
	text-align: center;
	margin-bottom: 10px;
}

.archivebox .text{
	margin-bottom: 10px;
}

.archivebox .text .date{
	font-size:80%;
	margin-bottom: 5px;
	color: #aaaaaa;
}
.archivebox .text h3{
	margin-bottom:5px;
	font-weight: bold;
	font-size:90%;
	line-height: 1.5;
}
.archivebox .text p{
	font-size:80%;
	line-height: 1.5;
}
#blog02 ul{
	max-width: 370px;
	margin: 0 auto;
	border:solid 1px #f77065;
	border-bottom: none;
	background: #fff;
}
#blog02 ul li a{
	display: flex;
	border-bottom:solid 1px #f77065;
	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;
}
.single article .inner{
	margin-bottom: 30px;
	background: #fff;
	border:solid 1px #f77065;
	border-radius: 5px;
}
.single article .date{
	padding: 20px 20px;
	font-size:90%;
}
.single article .ttl{
	padding:0 20px 20px 20px;
	border-bottom:solid 1px #f77065;
}
.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 #f77065;
	color: #f77065;
	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: #f77065;
	background:#fff;
	border:solid 1px #f77065;
	border-radius:3px;
}
.pagination span.page-of {
	background: none;
	color: #f77065;
	border:none;
}
.pagination a:hover{
	color: #fff;
	background:#f77065;
	border:solid 1px #f77065;
}
.pagination .current{
	padding: 10px 14px 10px 14px;
	color: #fff;
	background: #f77065;
	border:solid 1px #f77065;
}


@media (max-width: 320px) {
	.link01 a{
		padding: 15px 40px 15px 20px;
		font-size:110%;
	}
	#contactus{
		padding: 30px 5px 40px;
	}
	.box01{
		padding: 15px;
	}
	.box01 .ttl1{
		position: static;
		left: inherit;
		top:inherit;
		margin-top: -40px;
		margin-bottom: 15px;
	}
	.box01 .ttl2{
		display: block;
		padding: 8px 5px;
		font-size:100%;
		text-align: center;
	}

}
/*●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
↑spサイズ
----------------------------------
↓pcサイズ
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●*/
@media (min-width: 500px) {
	body{
		background:#f8d7e1 url("images/common/sp_bg.png") no-repeat left 1% top 3%;
		background-attachment: fixed;
		background-size:auto 95%;
	}
	.sp-dnon{display: block;}
	#main .container{
		position: relative;
		z-index: 2;
		box-shadow: 0 0 5px #fb91a4;
	}
	.dlstyle01 dd{
		font-size:95%;
	}
	#breadcrumb ul{
		padding: 10px;
	}
	
}

/* ========== Desktop ≥ 1000px: 左サイド固定 ========== */
@media (min-width: 1000px) {

	.header-wrap{
		max-width:1300px;
		width: 90%;
		height: 90%;
		position: relative;
		position: fixed;
		top:5%;
		left: 50%;
		z-index: 1;
		transform: translateX(-50%);
		background:rgba(255,255,255,0.9);
		border-radius: 30px;
	}
	.el_humburger{
		display: none;
	}
	.uq_spNavi{
		width: 100%;
		height: 100%;
		position: relative;
		opacity:1;
    	pointer-events: auto;
	}
	.uq_spNavi_screen{
		display: flex;
		align-items: center;
		justify-content: center;
		margin-left: 70%;
		width:30%;
		height: 100%;
		background: none;
		backdrop-filter: none;
	}
	.menu-root a{
		position: relative;
		padding:5px 5px 5px 15px;
		color: #333;
		display: block;
		font-size:90%;
		transition: 0.5s;
	}
	.menu-root a:hover{
	color: #fa798f;		
	}
.menu-root a::after {
position: absolute;
left:0px;
content: '・';
opacity: 0;
	transition: 0.5s;
	color: #fa798f;
}
.menu-root a.current::before {
position: absolute;
left:0px;
content: '・';
	color: #fa798f;
}

.menu-root a:hover::after {
opacity: 1;
}
	.navigation{
		padding:0;
	}
	.pclogo{
		display: flex;
		align-items: center;
		justify-content: center;
		width:30%;
		height: 100%;
	}
	.pclogo img{
		width: 100px;
		
	}
	#footerFloatingMenu{
		display: none;
	}
	footer{
		padding-bottom: 0;
	}

}
