@charset "UTF-8";

/* =============================================
	mobile menu settings
=============================================　*/
/* Mobile Menu Button */
#menu-button{
	visibility:hidden;
	opacity:0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: fixed;
	z-index: 900;
	top: 0;
	right: 0;
	width: 48px;
	height: 48px;
	background-color: #fafafa;
}
#menu-button.nav-on {
	visibility:visible;
	opacity:1;
}
#menu-button .ham-lines {
	position: relative;
	margin: 0 auto;
	width: 32px;
	height: 32px;
}
#menu-button .ham-lines span,
#menu-button .ham-lines::before,
#menu-button .ham-lines::after {
	position: absolute;
	display: block;
	right: 0;
	left: 0;
	margin: 0 auto;
	width: 28px;
	height: 2px;
	background-color: #111;
	border-radius: 1px;
}
#menu-button .ham-lines span {
	bottom: 15px;
	transition: all .25s .25s;
	opacity: 1;
}
#menu-button .ham-lines::before,
#menu-button .ham-lines::after {
	content: "";
}
#menu-button .ham-lines::before{
	bottom: 24px;
	animation: menu-bar01 .75s forwards;
}
#menu-button .ham-lines::after {
	bottom: 6px;
	animation: menu-bar03 .75s forwards;
}
#menu-button .ham-text {
	font-size: 12px;
	line-height: 1;
}
#menu-button.is-active .ham-lines span {
	opacity: 0;
}
#menu-button.is-active .ham-lines::before {
	animation: active-menu-bar01 .5s forwards;
}
#menu-button.is-active .ham-lines::after {
	animation: active-menu-bar03 .5s forwards;
}
@keyframes menu-bar01 {
	0% {
		transform: translateY(9px) rotate(45deg);
	}
	50% {
		transform: translateY(9px) rotate(0);
	}
	100% {
		transform: translateY(0) rotate(0);
	}
}
@keyframes menu-bar03 {
	0% {
		transform: translateY(-9px) rotate(-45deg);
	}
	50% {
		transform: translateY(-9px) rotate(0);
	}
	100% {
		transform: translateY(0) rotate(0);
	}
}
@keyframes active-menu-bar01 {
	0% {
		transform: translateY(0) rotate(0);
	}
	50% {
		transform: translateY(9px) rotate(0);
	}
	100% {
		transform: translateY(9px) rotate(45deg);
	}
}
@keyframes active-menu-bar03 {
	0% {
		transform: translateY(0) rotate(0);
	}
	50% {
		transform: translateY(-9px) rotate(0);
	}
	100% {
		transform: translateY(-9px) rotate(-45deg);
	}
}
/* Mobile Menu Button end */

/* =============================================

	Common settings

============================================= */
/* table border and paddings */
table th,
table td{
	border: 1px solid #424242;
	padding: 10px;
}



body .pagewidth {
	max-width: 1100px;
	width: 100%;
}
body .row_inner {
	width: 100%;
	max-width: 100%;
}
body .site {
	background: #e6f5ea;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: 500;
	font-size: 14px;
	color: #1b0c00;
	line-height: 2;
}
.font_slabo {
	font-family: "Slabo 27px", serif;
}
.font_dnp {
	font-family: dnp-shuei-mgothic-std,sans-serif;
	font-weight: 400;
	font-style: normal;
}
h1, h2, body h3, h4, h5, h6 {
	line-height: 1.4em;
}
/***************** HEADER *******************
*********************************************/
#headerwrap {
	display: none;
}

/***************** MENU *******************
*********************************************/
.menu_anchor {
	background: white;
	padding: 20px 0;
}
.menu_anchor:before {
	content: '';
	width: 22px;
	height: 11px;
	background: url(../../uploads/home18.png);
	position: absolute;
	bottom: -11px;
	left: 0;
	z-index: 1;
}
.menu_anchor:after {
	content: '';
	width: 22px;
	height: 11px;
	background: url(../../uploads/home19.png);
	position: absolute;
	bottom: -11px;
	right: 0;
	z-index: 1;
}
#pagewrap .menu_anchor ul {
	border: none;
	padding: 0;
	box-shadow: none;
	background: none;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
#pagewrap .menu_anchor ul li {
	padding: 0 50px;
	font-size: 15px;
	font-weight: bold;
	border-left: 1px solid #e1d39e;
	display: block;
	float: none;
	margin: 0;
}
#pagewrap .menu_anchor ul li:first-child {
	border-left: none;
}
#pagewrap .menu_anchor ul li a {
	background: url(../../uploads/home20.png) no-repeat left;
	padding: 5px 0 5px 20px;
	color: #3b1a00;
}

/***************** FOOTER *******************
*********************************************/
.f_info {
	max-width: 450px;
	margin: 0 auto 30px;
	background: #fbf5de;
	border-radius: 15px;
	padding: 25px;
}
.f_info:before {
	content: '';
	width: 107px;
	height: 124px;
	background: url(../../uploads/home17.png) no-repeat center;
	position: absolute;
	top: -25px;
	left: -30px;
}
.f_info:after {
	content: '';
	width: 93px;
	height: 114px;
	background: url(../../uploads/home16.png) no-repeat center;
	position: absolute;
	bottom: -18px;
	right: -30px;
	visibility: visible;
}
.f_tel {
	font-size: 35px;
	font-family: "Slabo 27px", serif;
	text-align: center;
}
#pagewrap .f_menu ul li {
	font-size: 14px;
	padding: 0 5px;
	border-left: 1px solid #6f6a66;
	line-height: 1;
}
#pagewrap .f_menu ul li:first-child {
	border-left: none;
}
#pagewrap .f_menu ul li a {
	color: #1b0c00;
	padding: 0;
	text-decoration: underline;
}
#footerwrap .copyright-container {
	text-align: center;
	padding: 12px 0;
}
#footerwrap .copyright-container * {
	display: inline-block;
	vertical-align: middle;
}
body #pc-backtop {
	width: 86px;
	height: 84px;
}

/***************** TABLE *******************
*********************************************/
table tr th, table tr td{
	border: none;
}




/***************** POST *******************
*******************************************/
#pagewrap .news_post {
	max-width: 1000px;
	margin: 0 auto;
	border: 2px solid #e1d39e;
	background: url(../../uploads/home12.png) no-repeat, url(../../uploads/home13.png) no-repeat top right, url(../../uploads/home14.png) no-repeat bottom right, url(../../uploads/home15.png) no-repeat bottom left, white;
	padding: 35px 45px 50px;
}
#pagewrap .news_post .module-title {
	font-size: 30px;
	color: #3b1a00;
	background: url(../../uploads/home11.png) no-repeat top 10px left, url(../../uploads/index_18.jpg) repeat-x bottom;
	padding: 0 0 15px 35px;
	font-size: 30px;
	font-family: "Slabo 27px", serif;
}
#pagewrap .news_post .list-post {
	max-height: 250px;
	overflow-y: scroll;
}
#pagewrap .news_post .post {
	margin-bottom: 30px;
}
#pagewrap .news_post .post .post-date {
	color: #e36f9c;
	font-weight: bold;
	margin-right: 15px;
	display: inline-block;
	vertical-align: middle;
}
#pagewrap .news_post .post .post-title {
	display: inline-block;
	vertical-align: middle;
	font-size: 14px;
}
#pagewrap .news_post .post .post-title a {
	color: #1b0c00;
	text-decoration: underline;
	font-weight: normal;
}
/***************** TITLE *******************
*********************************************/
.module .module-title {
	margin-bottom: 15px;
}
.title_mb25.module .module-title {
	margin-bottom: 25px;
}
.title_2line.module .module-title {
	color: #3b1a00;
	font-size: 30px;
	font-family: "Slabo 27px", serif;
}
.title_2line.module .module-title:before, .title_2line_dnp.module .module-title:before {
	content: '';
	width: 65px;
	height: 1px;
	background: #3b1a00;
	display: inline-block;
	vertical-align: middle;
	margin-right: 18px;
}
.title_2line.module .module-title:after, .title_2line_dnp.module .module-title:after {
	content: '';
	width: 65px;
	height: 1px;
	background: #3b1a00;
	display: inline-block;
	vertical-align: middle;
	margin-left: 18px;
}
.title_ribbon.module .module-title {
	background: url(../../uploads/index_06.png) no-repeat center;
	background-size: inherit;
	font-family: dnp-shuei-mgothic-std,sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: 30px;
	color: #3b1a00;
	padding: 12px;
}
.title_20.module .module-title {
	font-size: 20px;
	color: #3b1a00;
	font-family: dnp-shuei-mgothic-std,sans-serif;
	font-weight: 600;
	font-style: normal;
}
.title_2line_dnp.module .module-title {
	color: #3b1a00;
	font-size: 22px;
	font-family: dnp-shuei-mgothic-std,sans-serif;
	font-weight: 600;
	font-style: normal;
}
.title_brown.module .module-title {
	background: #e1d39e;
	padding: 15px 20px;
	color: #3b1a00;
	font-size: 18px;
	font-family: dnp-shuei-mgothic-std,sans-serif;
	font-weight: 600;
	font-style: normal;
	border-radius: 8px;
}
/***************** OTHER *******************
*********************************************/
.module {
	margin-bottom: 30px;
}
.module p:last-child {
	margin-bottom: 0;
}
#pagewrap .row_btn {
	position: relative;
}
#pagewrap .row_btn .row_inner, #pagewrap .row_btn .row_inner .module_column {
	position: static;
}
#pagewrap .btn_ameba {
	position: fixed;
    right: 40px;
    top: 50px;
    z-index: 9; 
}
#pagewrap .btn_ins {
	position: fixed;
    right: 40px;
    top: 100px;
    z-index: 9; 
}
#pagewrap .ct_box {
	background: #fbf5de;
	border: 4px double #e1d39e;
	border-radius: 15px;
	max-width: 900px;
    margin: 0 auto;
    position: relative;
    padding: 35px 115px 15px;
	box-shadow: 0 0 9px #c8c8c8;
}
#pagewrap .ct_box:before {
	content: '';
	width: 206px;
	height: 113px;
	background: url(../../uploads/home01.png);
	background-size: contain;
	position: absolute;
	top: -15px;
	left: -50px;
	z-index: 1;
}
#pagewrap .ct_box:after {
	content: '';
	width: 217px;
	height: 145px;
	background: url(../../uploads/home02.png);
	background-size: contain;
	position: absolute;
	bottom: -55px;
	right: -55px;
	z-index: 1;
	display: block;
	visibility: visible;
}
#pagewrap .btn_01 .module-buttons-item a {
	background: url(../../uploads/home03.png) no-repeat right 10px center, #e1d39e;
	color: #3b1a00;
	font-size: 14px;
	font-family: dnp-shuei-mgothic-std,sans-serif;
	font-weight: 600;
	font-style: normal;
	padding: 10px 20px 14px;
    border: none;
}
.box_yellow {
	background: url(../../uploads/index_08.jpg) repeat-x top, url(../../uploads/index_18.jpg) repeat-x bottom, #fbf5de;
	padding: 30px 30px 0;
	margin-bottom: 60px;
	position: relative;
}
.box_yellow:before {
	content: '';
	width: 89px;
	height: 20px;
	background: url(../../uploads/home06.png);
	position: absolute;
	top: -20px;
	left: calc(50% - 45px);
}
#pagewrap .price01, #pagewrap .price02 {
	background: white;
	box-shadow: 0 0 9px #c8c8c8;
	padding: 40px 20px 10px;
	border-radius: 15px;
	margin-bottom: 50px;
}
#pagewrap .price01:before {
	content: '';
	background: url(../../uploads/home08.png) no-repeat center;
	width: 146px;
	height: 68px;
	position: absolute;
	top: -30px;
	left: -25px;
}
#pagewrap .price02:before {
	content: '';
	background: url(../../uploads/home08.png) no-repeat center;
	width: 146px;
	height: 68px;
	position: absolute;
	bottom: -30px;
	right: -25px;
}
#pagewrap .flow_box {
	background: white;
	border-radius: 15px;
	margin-bottom: 30px;
}
#pagewrap .flow_box .col4-1 {
	margin: 0;
	padding: 9px;
	background: #e1d39e;
	border-radius: 15px 0 0 15px;
}
#pagewrap .flow_box .module-image {
	margin: 0;
}
#pagewrap .flow_box .module-text {
	margin: 0;
	padding: 9px 20px 9px 0;
}
#pagewrap .row_voice {
	padding-top: 70px;
}
#pagewrap .row_voice .row_inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 75px 50px 45px;
	background: url(../../uploads/index_45.jpg) repeat-x top, url(../../uploads/index_56.jpg) repeat-x bottom, white;
}

.module.contact-form table{
	max-width: 500px;
	margin: 0 auto 15px;
}
.module.contact-form table tbody tr th,
.module.contact-form table tbody tr td{ padding: 5px 5px 0; text-align: left; box-sizing: border-box;}
.module.contact-form input,
.module.contact-form textarea,
.module.contact-form input[type=text],
.module.contact-form input[type=search],
.module.contact-form input[type=email],
.module.contact-form input[type=url]{
	width: inherit;
	background: white;
	box-shadow: none;
	margin-bottom: 5px;
	border: 1px solid lightgray;
	max-width: 90%;
	padding: 5px;
	border-radius: 5px;
}
.module.contact-form table tbody tr th {
	width: 185px;
}

.module.contact-form input[type=submit]{
	background: #e6f5ea;
	color: #333;
}


.header-wrapper--single{
	max-width: 1100px;
    margin: 0 auto;
}
.single time{
	font-size:18px;
	font-weight:bold;
	color:#1b0c00;
}
.single .post-title{
	font-family:dnp-shuei-mgothic-std,sans-serif;
	font-size:18px;
	color:#3b1a00;
	border-radius: 10px;
	background-color: rgb(225, 211, 158);
	height:50px;
	line-height:50px;
	padding-left:20px;
	margin-bottom:20px;
}
.history-back-button{
  background-color: rgb(241, 186, 184);
  width: 200px;
  height: 40px;
  line-height:40px;
	display:block;
	color:#3b1a00;
		font-family:dnp-shuei-mgothic-std,sans-serif;
	font-weight:bold;
	text-align:center;
	margin:0 auto;

}
.single .list-post{
	margin-top:30px;
}


/* 20250422 */
.module.contact-form input, .module.contact-form textarea, .module.contact-form input[type=text], .module.contact-form input[type=search], .module.contact-form input[type=email], .module.contact-form input[type=url] {
    width: inherit;
    background: white;
    box-shadow: none;
    margin-bottom: 5px;
	margin-top: 0;
    border: 1px solid lightgray;
    max-width: 90%;
    padding: 5px;
    border-radius: 5px;
}
.module.contact-form textarea {
	line-height: 150%;
    width: 94%;
}
.module.contact-form input.wpcf7-submit {
	max-width: 100%;
}
.wpcf7 .wpcf7-spinner {
    position: absolute;
}
.history-back-button{
  background-color: rgb(241, 186, 184);
  width: 200px;
  height: 40px;
  line-height:40px;
	display:block;
	color:#3b1a00;
		font-family:dnp-shuei-mgothic-std,sans-serif;
	font-weight:bold;
	text-align:center;
	margin:0 auto;

}





/* =============================================

	Media Query

============================================= */
@media screen and (max-width: 1180px) { /* for tablet landscapes */

	#pagewrap {
		position: relative;
	}

	#header.header {
		padding-top: 0;
	}

	/* module menu button visible */
	#menu-button{
		visibility:visible;
		opacity:1;
	}
	
	/* Mobile Menu Container ここを調整すると、メニューボタンクリック後の動作を調整できる */
	#main-menu-container {
		position: fixed;
		z-index: 700;
		top: 0;
		left: -100vw;
		right: auto;
		bottom: auto;
		overflow-y: auto;
		background-color: #f1f1f1;
		display:block;
		width: 100vw;
		height: 100vh;
		transition: .3s linear;
	}
	#main-menu-container.is-active{
		left: 0;	
	}
	/* Mobile Menu Container ここを調整すると、メニューボタンクリック後の動作を調整できる */

}

@media screen and (max-width: 1024px) { /* for tablet landscape */

	/* style for contact forms, if do not use to delete please
	コンタクフォームのテーブル調整　不要なら消す*/
	.wpcf7 table tr th,
	.wpcf7 table tr td{
		width:100%;
		display:block;
		padding: 10px 0px;
	}
	.wpcf7 table tr th{
		padding-bottom:0;
	}
	/* style for contact forms, if do not use to delete please
	コンタクフォームのテーブル調整　不要なら消す*/
	
	
	body .pagewidth {
		max-width: 94%;
		width: 100%;
	}
	#pagewrap .menu_anchor ul li {
    padding: 0 35px;
	}

}

@media screen and (max-width: 980px) { /* for mobile landscape */
	body #pc-backtop {
		display: none;
	}
	#pagewrap {
		padding-bottom: 50px;
	}
	#footer .sp-footer-icons-container {
		display: flex;
	}
	body #footer .sp-footer-icons-container a {
		background-color: rgb(241, 186, 184);
		color: #555;
		border-color: white;
	}
	body #footer .sp-footer-icons-container a svg {
		fill: #555;
	}
}

@media screen and (max-width: 768px) { /* for mobile  */
	#pagewrap .menu_anchor ul li {
		padding: 0 12px;
	}
	#pagewrap .ct_box {
    	padding: 35px 75px 15px;
	}
	#pagewrap .ct_box:before {
		left: 0;
	}
	#pagewrap .ct_box:after {
		right: 0;
	}
	.title_ribbon.module .module-title {
		font-size: 20px;
	}
	.title_20.module .module-title {
    font-size: 16px;
	}
	.title_2line_dnp.module .module-title {
    font-size: 18px;
	}
	.title_2line.module .module-title:before, .title_2line_dnp.module .module-title:before {
		width: 35px;
		margin-right: 12px;
	}
	.title_2line.module .module-title:after, .title_2line_dnp.module .module-title:after {
		width: 35px;
		margin-left: 12px;
	}
	.title_brown.module .module-title {
		padding: 10px 15px;
		font-size: 16px;
	}
	.f_info:before {
		width: 60px;
		height: 70px;
		background-size: contain;
		top: -20px;
		left: -15px;
	}
	.f_info:after {
		width: 60px;
		height: 60px;
		background-size: contain;
		bottom: -15px;
		right: -10px;
	}
	.title_2line.module .module-title {
    font-size: 22px;
	}

}

@media screen and (max-width: 680px) { /* for mobile small  */
	#pagewrap .ct_box:before, #pagewrap .ct_box:after {
    content: '';
    width: 120px;
    height: 70px;
	background-repeat: no-repeat;
	}
	#pagewrap .ct_box {
		padding: 35px 20px 15px;
	}
	.title_ribbon.module .module-title {
		font-size: 18px;
	}
	#pagewrap .price01:before {
    background-size: contain;
    width: 70px;
    height: 35px;
    top: -15px;
    left: -5px;
}
	#pagewrap .price02:before {
    background-size: contain;
    width: 70px;
    height: 35px;
    bottom: -15px;
    right: -5px;
}
	#pagewrap .row_voice .row_inner {
    padding: 75px 20px 45px;
	}
	#pagewrap .btn_ameba,
	#pagewrap .btn_ins{
		right:20px;
	}
	
	.title_ribbon.module .module-title{
			background: 
				url(../../uploads//ribbon-l.png) no-repeat center left,
				url(../../uploads//ribbon-r.png) no-repeat center right,
				url(../../uploads/ribbon-line.png) no-repeat center bottom 3px,
				url(../../uploads/ribbon-line.png) no-repeat center top 3px,
				#f1bab8;
		background-size: contain,contain,auto,auto,cover;
	}
	#pagewrap .flow_box .module-text{
		padding: 9px 10px;
	}
		body:not(.home) #pagewrap .ct_box {
		padding: 45px 20px 35px 15px;
        margin-bottom: 40px;
	}

}



