@charset "UTF-8";
/*
Theme Name: Custom Theme
Template: basic
Author: Trendmake
Copyright: (c) 2023 Trendmake
Version: 20231228
*/

/* custom icon */
@font-face {
	font-family: 'icomoon';
	src:  url('fonts/icomoon.eot?klagb8');
	src:  url('fonts/icomoon.eot?klagb8#iefix') format('embedded-opentype'),
	  url('fonts/icomoon.ttf?klagb8') format('truetype'),
	  url('fonts/icomoon.woff?klagb8') format('woff'),
	  url('fonts/icomoon.svg?klagb8#icomoon') format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: block;
  }
  
  [class^="icon-"], [class*=" icon-"] {
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: 'icomoon' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
  
	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
  }
  
  .icon-chevron-up:before {
	content: "\e900";
  }
  .icon-phone:before {
	content: "\e901";
  }
  .icon-mail:before {
	content: "\e902";
  }
  .icon-paperplane:before {
	content: "\e903";
  }
  .icon-mail-envelope-closed:before {
	content: "\e904";
  }
  .icon-envelope:before {
	content: "\e905";
  }
  .icon-location:before {
	content: "\e906";
  }
  .icon-phone1:before {
	content: "\e907";
  }
  .icon-home:before {
	content: "\e908";
  }
  .icon-phone2:before {
	content: "\e942";
  }
  .icon-envelop:before {
	content: "\e945";
  }
  .icon-location1:before {
	content: "\e947";
  }
  .icon-amazon:before {
	content: "\ea87";
  }
  .icon-facebook2:before {
	content: "\ea91";
  }
  .icon-instagram:before {
	content: "\ea92";
  }
  

/*******************************
Common Setting
*******************************/
body {
	font-family: 'YuGothic', 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', 'Meiryo', 'ＭＳ ゴシック', sans-serif;
	font-size: 16px;
	line-height: 2;
}
body #content {
	padding: 0;
}
/* Those Classes change row_inner width,
   when you set the Themify Builder > Row Options > Row Width to Default and Boxed. */
/*.module_row > .row_inner,
.module-layout-part .module_row.fullwidth_row_container > .row_inner {
	width: 100%;
}*/

/* table setting */
body table{
	width: 100%;
    border-collapse: collapse;
    box-sizing: border-box;
}

/*******************************
Header Fix
*******************************/
body #header.header {
	height: auto;
	border-bottom: none;
}

/* Header Site Branding */
body #site-logo,
body #site-description {
	position: static;
}
body #site-logo {
	line-height: 1;
}
body #site-logo a,
body #site-logo a img {
	display: block;
}
/* Search Form in Header */
body #headerwrap #header #searchform {
	position: static;
}
body #headerwrap #header #searchform #s {
	float: none;
}

/*******************************
Footer Fix
*******************************/
body #footer {
	border-top: none;
	clear: none;
	padding: 0;
}
body #pc-backtop {
	display: block;
	position: fixed;
	z-index: 500;
	bottom: 50px;
	right: 50px;
	opacity: 0;
	transition: opacity .3s;
	width: 32px;
	height: 32px;
	font-size: 30px;
}
body #pc-backtop.is-visible {
	opacity: 1;
}
body #pc-backtop.is-visible:hover {
	opacity: .7;
}
body #pc-backtop a,
body #pc-backtop a img {
	display: block;
}
body .sp-footer-icons-container {
	display: none;
	justify-content: space-around;
	align-items: center;
	position: fixed;
	z-index: 600;
	right: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	padding-bottom: calc( env(safe-area-inset-bottom) / 2 );
	background: #4f4f4f;
}

body #footer .sp-footer-icons-container a span{
	display: block;
	font-size: 20px;
	margin-bottom: 8px;
}
body #footer .sp-footer-icons-container a {
	display: block;
	width: 100%;
	line-height: 1;
	text-align: center;
	background-color: #fafafa;
	text-decoration: none;
	font-size:10px;
	padding: 10px 0 6px;
	border-left:1px solid #1f7bb6;
}
body #footer .sp-footer-icons-container a:first-child{
	border-left:0;
}


/*******************************
Contact form
*******************************/
.wpcf7 table tr th{
	width:30%;
	text-align: left;
}
.wpcf7 table tr th,
.wpcf7 table tr td{
	padding:10px 15px
}
.wpcf7 table tr td input,
.wpcf7 table tr td select,
.wpcf7 table tr td textarea{
	background-color: #f3f3f3;
    border: solid 1px #ddd;
    padding: 6px 10px;
    border-radius: 5px;
	width:100%;
	max-width:100%;
	box-sizing:border-box;
}
.wpcf7 table tr td span input{
	margin-top:10px;
}
.wpcf7 table tr td span:first-child input{
	margin-top:0px;
}
.wpcf7 table tr td input[type="radio"],
.wpcf7 table tr td input[type="checkbox"]{
	width:auto;
}
.wpcf7 .submit_btn{
	display:block;
}
.wpcf7 .submit_btn input[type="submit"]{
	display:block;
	width:250px;
	margin:0 auto;
}

/* =============================================
	menu settings
=============================================　*/
#main-nav{

}

#main-nav .current_page_item a,
#main-nav .current-menu-item a{
	
}

#main-nav li{

}

/* =============================================
	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: #912557;
	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;
	color: #912557;
}
#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 {
	width: 100%;
	max-width: 1200px;
}
body .row_inner {
	width: 100%;
	max-width: 100%;
}





/* for the navigation for smartphones including the iPad Pro of landscape size */
#main-menu-container.is-active #main-menu {
	flex-direction: column;
}
#main-menu-container.is-active #main-menu li:first-child, #main-menu-container.is-active #main-menu li:last-child {
	display: block;
}

body .site {
	font-family: "ヒラギノ角ゴ ProN W3″", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", "游ゴシック Medium", YuGothic,"メイリオ", Meiryo, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 2;
	background: #fff;
	color: #333333;
}
body .site a {
	color: #333;
}
.pt-sans-bold {
  font-family: "PT Sans", serif;
  font-weight: 700;
  font-style: normal;
}

/* =========== HEADER ========== */
#headerwrap #header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	max-width: 100%;
	padding: 0 0 0 50px;
}
#header .h_right {
	display: flex;
	align-items: center;
}
.h_right .h_info {
	text-align: center;
	font-size: 18px;
	margin: 0 35px 0 85px;
}
.h_right .h_info .h_tel {
	background: url(../../uploads/2024/11/tel.png) no-repeat left;
	font-size: 30px;
	color: #333;
	font-weight: bold;
	padding-left: 30px;
	line-height: 1.5;
}
.h_right .h_ct {
	background: url(../../uploads/2024/11/mail.png) no-repeat bottom 40px center, #ffe440;
	font-size: 18px;
	font-weight: bold;
	padding: 30px 60px 86px;
	border-radius: 0 0 0 30px;
	text-decoration: none;
}
#header .btn_fixed {
	position: fixed;
	right: 0;
	bottom: 100px;
	z-index: 99;
}
.btn_fixed a {
	font-size: 16px;
	font-weight: bold;
	padding: 90px 14px 40px;
	border-radius: 20px 0 0 20px;
	writing-mode: tb;
    text-decoration: none;
	display: block;
}
.btn_fixed a.tel {
	background: url(../../uploads/2024/11/tel.png) no-repeat top 40px center, #ffe440;
	margin-bottom: 20px;
}
.btn_fixed a.contact {
	background: url(../../uploads/2024/11/mail.png) no-repeat top 40px center, #ffe440;
	background-size: 30px;
}

/* =========== MENU ========== */
#main-menu-container #main-menu {
	display: flex;
	gap: 22px;
	margin: 0 auto;
}
#main-menu-container #main-menu li {
	display: block;
	margin: 0;
	font-weight: bold;
}
#main-menu-container #main-menu li:first-child, #main-menu-container #main-menu li:last-child {
	display: none;
}
#main-menu-container #main-menu li a {
	color: #333333;
}

/* =========== FOOTER ========== */
#footerwrap {
	border-bottom: 9px solid #912557;
}
.btn_footer  {
	text-align: center;
}
.btn_footer .module-buttons-item + .module-buttons-item {
	margin-left: 55px;
}
#pagewrap .btn_footer .module-buttons-item a {
	font-size: 18px;
	font-weight: bold;
	background: url(../../uploads/2024/11/btn-line.png) no-repeat right, #ffe440;
	border-radius: 20px;
	padding: 30px 50px;
	color: #333;
	box-sizing: border-box;
	display: block;
	width: 400px;
	border: none;
}
.btn_footer .module-buttons-item a span {
	padding: 10px 0 10px 70px;
	background: url(../../uploads/2024/11/mail-footer.png) no-repeat left;
}
.btn_footer .module-buttons-item + .module-buttons-item a span {
	padding: 10px 0 10px 50px;
	background: url(../../uploads/2024/11/tel-footer.png) no-repeat left;
}
#pagewrap .f_content {
	background: url(../../uploads/2024/11/circle01.png) top 5px left no-repeat, url(../..//uploads/2024/11/circle02.png) no-repeat right bottom 50px, #fffcec;
	padding-top: 90px;
	padding-bottom: 40px;
	font-weight: bold;
}
.f_menu ul {
	margin: 0;
}
.f_menu ul li {
	display: block;
	background: url(../../uploads/2024/11/line.png) no-repeat top 10px left;
	padding-left: 40px;
	margin-bottom: 20px;
}
#footerwrap .copyright-container {
	text-align: center;
	padding: 26px;
	font-weight: bold;
}
body #pc-backtop {
    bottom: 100px;
    right: 100px;
    width: 71px;
    height: 70px;
}

/* =========== TABLE ========== */
body table {
	width: 100%;
	border-collapse: collapse;
}
.table_time table tr {
	border-bottom: 1px solid #912557;
}
.table_time table tr td {
	padding: 14px 0;
	border: none;
}
.table_time table tr td img {
	display: block;
}
.table_price {
	background: #fffad9;
	padding: 30px 50px;
	border-radius: 30px;
}
.table_price table tr td {
	font-size: max(1.250vw,20px);
	font-weight: bold;
	border: none;
	white-space: nowrap;
	padding: 0;
	line-height: 1.6;
}
.table_price table tr td:nth-child(1) {
	padding-right: 30px;
}
.table_price table tr td:nth-child(2) {
	width: 100%;
	background: url(../../uploads/2024/11/price-dot_03.png) repeat-x left;
}
.table_price table tr td:last-child {
	padding-left: 30px;
}
.table_info table {
	border-radius: 30px;
	overflow: hidden;
}
.table_info table tr  {
	display: flex;
}
.table_info table tr th, .table_info table tr td {
	border: 1px solid #ffe440;
	padding: 23px 30px;
	display: flex;
	align-items: center;
	flex: 5;
}
.table_info table tr th {
	background: #ffe440;
	border-bottom-color: white;
	border-top-color: white;
	flex: 1;
	font-weight: 500;
}
.table_info table tr:first-child td {
	border-radius: 0 30px 0 0;
}
.table_info table tr:last-child td {
	border-radius: 0 0 30px 0;
}
.table_note table tr td {
	border: none;
	padding: 0 8px;
	vertical-align: top;
}
.table_note table tr td:first-child {
	padding-left: 30px;
}

.wpcf7 table tr th, .wpcf7 table tr td {
	padding: 11px 0;
	border: none;
	font-size: 16px;
	font-weight: normal;
	box-sizing: border-box;
	vertical-align: top;
}
.wpcf7 table tr th span {
	color: #f40b0b;
	margin-left: 5px;
}
.wpcf7 table tr td input, .wpcf7 table tr td textarea {
	border: 2px solid #ece5bc;
	background: white;
	border-radius: 30px;
	box-sizing: border-box;
	padding: 6px 15px;
}
#pagewrap .submit_btn {
	margin-top: 25px;
}
#pagewrap .submit_btn input {
	font-size: 16px;
	font-weight: bold;
	color: white;
	background: url(../../uploads/2024/11/line-white.png) no-repeat right, #912557;
	padding: 22px 140px;
	border-radius: 20px;
	width: auto;
}
/* =========== POST ========== */
#pagewrap .home_post .post {
	border-bottom: 1px solid #333;
	padding: 25px 0;
	margin: 0;
}
.home_post .post-content {
	display: flex;
	align-items: center;
}
.home_post .post-content .post-date {
	margin: 0 80px 0 0;
	font-size: 16px;
}
.home_post .post-content .post-title {
	margin: 0;
	font-size: 16px;
	font-weight: normal;
}




/* === Category === */
body.category .widget.list-categories {
	display: flex;
	align-items: center;
	justify-content: center;
}
body.category .widget.list-categories .widgettitle {
	margin: 0 22px 0 0;
	font-size: 16px;
	color: #020202;
	font-weight: bold;
}
body.category .widget.list-categories ul {
	display: flex;
	gap: 18px;
}
body.category .widget.list-categories ul li {
	padding: 0;
	margin: 0;
}
body.category .widget.list-categories ul li a {
	color: white;
    text-decoration: none;
    font-size: 12px;
    padding: 1px 20px;
    min-width: 98px;
    text-align: center;
    border-radius: 20px;
    background: #912557;
    box-sizing: border-box;
    display: block;
}
body.category .widget.list-categories ul li.cat-item-4 a {
	background: #ffe440;
}
body.category #layout {
	margin-top: 120px;
	margin-bottom: 120px;
	background: #f8f8f8;
	padding: 40px 95px 100px;
}
body.category #layout .page-title {
	display: none;
}
body.category #layout #content {
	background: white;
	border-radius: 30px;
	padding: 35px 100px 60px;
	margin-top: 25px;
}
body.category #layout .post {
	padding: 25px 5px 20px;
	margin: 0;
	border-bottom: 1px solid #333;
}
body.category #layout .post .post-content {
	display: flex;
	align-items: center;
}
body.category #layout .post .post-content .post-meta {
	order: 1;
	margin: 0;
}
.post .post-content .post-meta .post-author {
	display: none;
}
body.category #layout .post .post-content .post-meta .post-category a, body.single .post .post-meta .post-category a {
	color: white;
    text-decoration: none;
    font-size: 12px;
    padding: 1px 20px;
    width: 98px;
    text-align: center;
    border-radius: 20px;
    background: #912557;
    box-sizing: border-box;
    display: block;
}
body.category #layout .post.cat-4 .post-content .post-meta .post-category a, body.single .post.cat-4 .post-meta .post-category a {
	background: #ffe440;
}
body.category #layout .post .post-content .post-meta .post-category:after, body.single .post .post-meta .post-category:after {
	display: none;
}
body.category #layout .post .post-content .post-date {
	order: 2;
	font-size: 16px;
	padding: 0 14px 0 20px;
	margin: 0 14px 0 0;
	border-right: 2px solid #939393;
	line-height: 1.6;
}
body.category #layout .post .post-content .post-title {
	order: 3;
	margin: 0;
	padding: 0;
	font-size: 16px;
	font-weight: normal;
}
.pagenav {
	text-align: center;
	padding: 60px 0 0;
	margin: 0;
}
.pagenav .number {
	font-size: 16px;
	color: #333;
	border: 2px solid #fffad9;
	border-radius: 50%;
	padding: 6px 9px;
	background: none;
}
.pagenav .number.current, .pagenav .number:hover {
	background: #ffe440;
	border-color: #ffe440;
}

body.single #content {
	padding-top: 100px;
	padding-bottom: 100px;
}
body.single #content .rtb {
	text-align: center;
}
body.single #content .rtb a {
	background: #ffe440;
	padding: 20px 60px;
	border-radius: 20px;
}
/* =========== TITLE ========== */
.module .module-title {
	margin-bottom: 15px;
}
.head_p .fancy-heading {
	margin: 0;
}
.head_p .fancy-heading .main-head {
	font-size: 18px;
	color: #912557;
}
.head_p .fancy-heading .sub-head {
	font-size: 36px;
	padding-top: 6px;
}
.head_en_ja .fancy-heading, .head_en_ja_p .fancy-heading {
	margin: 0;
}
.head_en_ja .fancy-heading .main-head, .head_en_ja_p .fancy-heading .main-head {
	font-size: 36px;
	font-family: "PT Sans", serif;
  	font-weight: 700;
	letter-spacing: 3px;
}
.head_en_ja .fancy-heading .sub-head {
	font-size: 18px;
	font-weight: normal;
}
.head_en_ja_p .fancy-heading .sub-head {
	font-size: 16px;
	color: #912557;
}
.head_dot .fancy-heading {
	margin: 0;
}
.head_dot .fancy-heading .main-head {
	font-size: 30px;
	display: inline-block;
}
.head_dot .fancy-heading .main-head:after {
	content: '';
	width: 100px;
/* 	border-bottom: 10px dotted #912557; */
	display: block;
	margin: 5px auto 0;
}
.title_num.module {
	display: flex;
	align-items: center;
	gap: 40px;
	font-size: 28px;
	color: #333;
	font-weight: bold;
	line-height: 1.4;
}
.title_num.module .module-title {
	font-size: 24px;
	color: white;
	width: 70px;
	height: 70px;
	background: #ffe440;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
}
.title_num.module .tb_text_wrap {
	flex: 1;
}
/* =========== OTHER ========== */
.module {
	margin-bottom: 30px;
}
.module p:last-child {
	margin-bottom: 0;
}
#pagewrap .row_concept {
	background: url(../../uploads/2024/11/circle03.png) no-repeat left top 50px, url(../../uploads/2024/11/circle04.png) no-repeat bottom 45px right;
	padding-top: 120px;
	padding-bottom: 70px;
}
#pagewrap .txt_shadow {
	font-size: max(1.823vw,28px);
	font-weight: bold;
	line-height: 1.max4;
}
#pagewrap .txt_shadow p {
	display: inline-block;
	position: relative;
	z-index: 1;
	margin: 0;
}
#pagewrap .txt_shadow p:before {
	content: '';
	width: 100%;
	height: 13px;
	background: #ffe440;
	position: absolute;
	bottom: 0;
	border-radius: 10px;
	z-index: -1;
}
#pagewrap .btn_purple a {
	font-size: 16px;
	color: white;
	font-weight: bold;
	background: url(../../uploads/2024/11/line-white.png) no-repeat right, #912557;
	border-radius: 20px;
	padding: 23px 60px;
	text-align: center;
	min-width: 350px;
	box-sizing: border-box;
}
#pagewrap .btn_purple .module-buttons-item + .module-buttons-item {
    margin-left: 50px;
}
#pagewrap .img_overlay .image-content:before {
	background: none;
}
#pagewrap .img_overlay .image-title {
	font-size: 24px;
	margin: 0;
}
#pagewrap .home_row03 {
	padding-top: 100px;
	padding-bottom: 90px;
	background: url(../../uploads/2024/11/circle04.png) no-repeat left top 200px, url(../../uploads/2024/11/circle05.png) no-repeat right bottom 145px;
}
#pagewrap .main_row {
	padding-top: 160px;
	padding-bottom: 110px;
	background: url(../../uploads/2024/11/circle04.png) no-repeat top 20px left 20px, url(../../uploads/2024/11/circle03.png) no-repeat right 20px bottom 30px, #fffad9;
}
#pagewrap .main_row .fancy-heading {
	margin: 0
}
#pagewrap .main_row .fancy-heading .main-head {
	font-size: 40px;
	color: #333;
}
#pagewrap .main_row .fancy-heading .sub-head {
	font-size: 20px;
	font-family: "PT Sans", serif;
  	font-weight: 700;
	color: #912557;
}
#pagewrap .row_certi {
	padding-top: 140px;
	padding-bottom: 70px;
	background: #fbfbfb;
}
#pagewrap .row_certi .row_inner {
	max-width: 1000px;
}
#pagewrap .row_certi:before {
	content: 'CERTIFICATION';
	color: #656565;
	font-size: 200px;
	font-family: "PT Sans", serif;
  	font-weight: 700;
	opacity: 5%;
	position: absolute;
	bottom: 0;
	right: 0;
	line-height: 0.77;
}
#pagewrap .img_400 {
	min-height: 400px;
	box-sizing: border-box;
	background: #f8f8f8;
	border-radius: 30px;
	padding: 75px 20px 30px;
}
#pagewrap .img_400 .image-wrap {
	margin-bottom: 18px;
}
#pagewrap .img_400 .image-title {
	font-size: 18px;
}
#pagewrap .check_list ul {
	margin: 0;
}
#pagewrap .check_list ul li {
	font-weight: bold;
	border: 2px solid #ffe440;
	background: white;
	border-radius: 20px;
	margin: 0 0 20px;
	display: flex;
	align-items: center;
	gap: 23px;
	overflow: hidden;
}
#pagewrap .check_list ul li:before {
	content: '';
	width: 80px;
	height: 68px;
	background: url(../../uploads/2024/11/tre01.png) no-repeat center, #ffe440;
	display: block;
}
#pagewrap .img_tre {
	background: #fffad9;
	border-radius: 30px;
	padding: 28px 10px;
	min-height: 270px;
	box-sizing: border-box;
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
#pagewrap .img_tre .image-content {
	padding: 0;
}
#pagewrap .img_tre .image-title {
	font-size: 16px;
	font-weight: bold;
	margin: 14px 0 0;
}
#pagewrap .img_num {
	background: white;
	border-radius: 30px;
	padding: 15px 20px;
	display: flex;
	align-items: center;
}
#pagewrap .img_num .image-content {
	padding: 0;
	margin: 0;
	display: flex;
	align-items: center;
	flex: 1;
}
#pagewrap .img_num .image-title {
	margin: 0 70px 0 40px;
	font-size: 18px;
	width: 25%;
}
#pagewrap .img_num .image-caption {
	flex: 1;
}
#pagewrap .row_price {
	border-radius: 30px;
}
#pagewrap .row_price .row_inner {
	border-radius: 30px;
	background: white;
	padding: 60px 50px 0;
}
#pagewrap .txt_1line {
	line-height: 1;
    display: flex;
    align-items: baseline;
    position: relative;
    z-index: 1;
    font-size: 24px;
    font-weight: bold;
}
#pagewrap .txt_1line:before {
	content: '';
	width: 100%;
	height: 6px;
	background: #bfbfbf;
	position: absolute;
	bottom: 3px;
	left: 0;
	right: 0;
	z-index: -1;
	border-radius: 5px;
}
#pagewrap .txt_1line .module-title {
	font-size: max(1.563vw,24px);
	position: relative;
	margin: 0;
	padding-right: 5px;
}
#pagewrap .txt_1line .module-title:before {
	content: '';
	width: 100%;
	height: 6px;
	background: #ffe440;
	position: absolute;
	bottom: 3px;
	left: 0;
	right: 0;
	z-index: -1;
	border-radius: 5px;
}
#pagewrap .txt_1line_purple .module-title:before {
	background: #912557;
}
#pagewrap .qa ul li {
	margin-bottom: 50px;
}
#pagewrap .qa ul li .accordion-title a {
	font-size: 18px;
	color: #333;
	font-weight: bold;
	background: url(../../uploads/2024/11/Q.png) no-repeat;
	padding: 10px 0 30px 85px;
	border-bottom: 1px dotted #636363;
}
#pagewrap .qa ul li .accordion-content {
	padding: 20px 0 0 85px;
	background: url(../../uploads/2024/11/A.png) no-repeat top 9px left;
	min-height: 60px;
	box-sizing: border-box;
	line-height: 1.4;
}
#pagewrap .policy .module-title {
	font-size: 16px;
	color: white;
	background: #912557;
	padding: 22px;
	margin-bottom: 45px;
}
#pagewrap .policy .tb_text_wrap {
	max-height: 485px;
	overflow-y: scroll;
	padding-right: 45px;
}


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

	Media Query

============================================= */
@media screen and (max-width: 1700px) { 
	#headerwrap #header {
		padding: 0 0 0 20px;
	}
	.h_right .h_info {
		margin: 0 20px 0 35px;
	}
	.h_right .h_ct {
		padding: 15px 30px 60px;
		background-position: bottom 20px center;
	}
}
@media screen and (max-width: 1550px) { 
	#header .h_right {
		flex-wrap: wrap;
		justify-content: flex-end;
	}
	#main-menu-container {
		width: 100%;
		order: 10;
	}
	#main-menu-container #main-menu {
		justify-content: flex-end;
		padding: 10px 30px;
	}
	
}
@media screen and (max-width: 1300px) { 
	body .pagewidth{
		max-width: 1000px;
	}
	.table_info table tr th, .table_info table tr td{
		padding: 1em 1.5em;
	}
	#pagewrap .btn_footer .module-buttons-item a {
		padding: 1.7em 2.5em;
	}

}
@media screen and (max-width: 1200px) { /* for tablet landscapes big */
		#pagewrap {
			position: relative;
		}
	
		/* 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: 400px;
		height: 100vh;
		transition: .3s linear;
		max-width: 100vw;
		padding: 2%;
		height: 100vh;
		box-sizing: border-box;
		}
		#main-menu-container.is-active{
			left: 0;	
		}
		/* Mobile Menu Container ここを調整すると、メニューボタンクリック後の動作を調整できる */
	
		body .pagewidth {
			max-width: 94%;
		}
	.btn_fixed {
		display: none;
	}
	#headerwrap #header {
		padding: 0 50px 0 20px;
	}
	.h_right .h_ct {
		border-radius: 0 0 30px 30px;
	}
	#main-menu-container #main-menu {
		padding-top: 80px;
		flex-direction: column;
	}
	#main-menu-container #main-menu li:first-child, 
	#main-menu-container #main-menu li:last-child {
		display: block;
	}
}

@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 .sp-footer-icons-container{
		display: flex;
	}
	body #footer .sp-footer-icons-container a {
		color: #912557;
		border-color: #912557;
	}
	body #footer .sp-footer-icons-container a svg {
		fill: #912557;
	}
	body #pc-backtop{
		display: none;
	}
	#pagewrap {
		padding-bottom: 50px;
	}
	#pagewrap .row_certi:before {
		font-size: 100px;
	}
	
}

@media screen and (max-width: 768px) { /* for tablet portrate */
	body .site {
		font-size: 14px;
	}
	#pagewrap .row_concept {
		padding-top: 60px;
		padding-bottom: 20px;
		background-size: 20%;
	}
	#pagewrap .home_row03 {
		padding-top: 50px;
		padding-bottom: 30px;
		background:url(../../uploads/2024/11/circle05.png) no-repeat right bottom 145px;
		background-size: 50%;
	}
	#site-logo {
		width: 200px;
	}
	.head_en_ja .fancy-heading .main-head, .head_en_ja_p .fancy-heading .main-head {
    	font-size: 30px; 
	}
	.head_en_ja_p .fancy-heading .sub-head, .head_en_ja .fancy-heading .sub-head {
		font-size: 14px;
	}
	#pagewrap .txt_shadow {
		font-size: 26px;
	}
	#pagewrap .btn_purple a {
		min-width: unset;
	}
	#pagewrap .img_overlay .image-title {
    	font-size: 20px;
	}
	#pagewrap .home_post .post {
		padding: 15px 0;
	}
	.home_post .post-content .post-date {
		margin: 0 20px 0 0;
		font-size: 14px;
	}
	.home_post .post-content .post-title {
		font-size: 14px;
	}
	.btn_footer .module-buttons-item + .module-buttons-item {
		margin-left: 25px;
	}
	#pagewrap .btn_footer .module-buttons-item a {
		font-size: 18px;
		padding: 16px 60px;
		width: auto; 
	}
	.head_p .fancy-heading .main-head {
		font-size: 16px;
	}
	.head_p .fancy-heading .sub-head {
		font-size: 32px;
	}
	#pagewrap .f_content {
		background-size: 20%;
		padding-top: 50px;
		padding-bottom: 10px;
	}
	#footerwrap .copyright-container {
		padding: 15px;
	}
	#pagewrap .main_row {
		padding-top: 80px;
		padding-bottom: 40px;
		background-size: 25%;
	}
	#pagewrap .main_row .fancy-heading .main-head {
    	font-size: 30px; 
	}
	.head_dot .fancy-heading .main-head {
    	font-size: 26px;
	}
	#pagewrap .row_certi {
		padding-top: 70px;
		padding-bottom: 20px;
	}
	#pagewrap .img_400 .image-title {
		font-size: 16px;
	}
	#pagewrap .img_400 {
		min-height: 280px;
		padding: 40px 10px 20px;
	}
	#pagewrap .check_list ul li {
		gap: 8px;
		padding-right: 8px;
		border-radius: 16px;
	}
	#pagewrap .check_list ul li:before {
		width: 40px;
		height: 50px;
		background-size: 20px;
	}
	#pagewrap .img_num {
    padding: 12px 16px;
	}
	#pagewrap .img_num img {
		width: 50px;
	}
	#pagewrap .img_num .image-title {
		margin: 0 30px 0 20px;
		font-size: 16px;
		width: 28%;
	}
	.title_num.module {
		gap: 20px;
		font-size: 22px;
	}
	.title_num.module .module-title {
		font-size: 20px;
		width: 50px;
		height: 50px;
	}
	#pagewrap .row_price .row_inner {
/* 		padding: 30px 20px 0; */
		padding: 0px 0px 0;
	}
	#pagewrap .txt_1line {
		font-size: 18px;
	}
	#pagewrap .txt_1line .module-title {
		font-size: 22px;
	}
	.table_price {
		padding: 20px;
	}
	.table_price table tr td {
		font-size: 20px;
	}
	.table_price table tr td:nth-child(1) {
		padding-right: 20px;
	}
	.table_price table tr td:last-child {
		padding-left: 20px;
	}
	body.category #layout {
		margin-top: 60px;
		margin-bottom: 60px;
		padding: 20px 30px 50px;
	}
	body.category #layout #content {
		padding: 20px 30px 30px;
		margin-top: 10px;
	}
	body.category #layout .post .post-content .post-title, body.category #layout .post .post-content .post-date {
		font-size: 14px;
	}
	.table_info table tr th, .table_info table tr td {
		padding: 10px 15px;
	}
	.table_info table tr td {
		flex: 4;
	}
}

@media screen and (max-width: 680px) { /* for mobile */
	#headerwrap #header {
		flex-direction: column;
		padding: 20px;
		gap: 20px;
	}
	.h_right .h_info {
        margin: 0 15px 0 0;
    }
	.h_right .h_info .h_tel {
		font-size: 24px;
		background-size: 15px;
		padding-left: 20px;
	}
	.h_right .h_ct {
        padding: 12px 18px 50px;
        font-size: 16px;
        background-size: 40px;
		border-radius: 20px;
	}
	.btn_footer .module-buttons-item + .module-buttons-item, #pagewrap .btn_purple .module-buttons-item + .module-buttons-item {
		margin: 20px 0 0;
	}
	#pagewrap .txt_shadow {
        font-size: 20px;
    }
	#pagewrap .txt_shadow p:before {
		height: 8px;
	}
	    #pagewrap .row_certi:before {
        font-size: 50px;
    }
	#pagewrap .img_num .image-content {
		flex-direction: column;
		align-items: flex-start;
		margin-left: 12px;
	}
	#pagewrap .img_num .image-title {
        margin: 0 0 5px;
        width: 100%;
    }
	#pagewrap .txt_1line {
		flex-direction: column;
		gap: 10px;
		margin-bottom: 20px;
		padding-bottom:0;
	}
	#pagewrap .txt_1line:before {
/* 		display: none; */
/* 		position-area: center; */
		bottom:15px;
	}
	#pagewrap .txt_1line.txt_1line_purple:before {
		bottom: 33px;
	}
	#pagewrap .txt_1line_purple .module-title:before, #pagewrap .txt_1line .module-title:before {
    bottom: -5px;
    }
	.module.module-text.tb_ek3s921.txt_1line {
    padding-bottom: 15px;
    }
	#pagewrap .qa ul li .accordion-title a {
		font-size: 16px;
		background-size: 30px;
		padding: 5px 0 15px 40px;
	}
	#pagewrap .qa ul li .accordion-content {
		background-size: 30px;
		padding: 10px 0 0 40px;
	}
	body.category #layout {
		padding: 20px 20px 50px;
	}
	body.category #layout #content {
        padding: 10px 20px 20px;
	}
	body.category #layout .post {
    	padding: 15px 0px;
	}
	body.category #layout .post .post-content {
		flex-wrap: wrap;
	}
	body.category #layout .post .post-content .post-date {
		border: none;
	}
	body.category #layout .post .post-content .post-title {
		margin-top: 8px;
	}
	.pagenav {
		padding: 30px 0 0;
	}
	.btn_footer .module-buttons-item + .module-buttons-item a span{
		padding: 10px 0 10px 70px;
	}
	.module.module-text.tb_98co502.check_list, .module.module-text.tb_uiqu678.f_menu {
    margin: 0;
    }
	.module.btn_purple.btn_purple01 {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-column-gap: 10px;
		align-items: center;
	}
	body #pagewrap .module.btn_purple.btn_purple01 .module-buttons-item {
		margin-top: 0;
	}
	#pagewrap .module.btn_purple.btn_purple01 .module-buttons-item a {
		padding: 20px;
		width: 100%;
	}
	.home #header .h_right {
		display: grid;
		grid-template-columns: 1fr auto;
	}
	.home .h_right .h_info .h_tel {
		font-size: 16px;
		letter-spacing: 0.05em;
	}
	.home .h_right .h_info {
		font-size: 10px;
	}
	.home .h_right .h_ct {
		background-position: top 14px center;
        background-size: 25px;
        border-radius: 10px;
        padding: 30px 10px 5px;
	}
	.home #headerwrap {
		position: absolute;
		z-index: 1;
		width: 100%;
	}
	.home #headerwrap #header {
		flex-direction: column-reverse;
		align-items: flex-start;
		padding-top: 0;
		gap: 40px;
	}
	.home .header-brand-container{
		width: 100%;
	}
	body.home #site-logo{
		width: auto;
	}
	body.home #site-logo img{
		margin: 0 auto;
	}
}
@media screen and (max-width: 320px) {
	.home #headerwrap #header{
		padding: 0 10px 10px;
	}
	.home .h_right .h_ct {
        background-position: top 14px center;
        background-size: 20px;
        border-radius: 10px;
        font-size: 12px;
        padding: 30px 5px 5px;
    }
}