@charset "UTF-8";

#content {
	background:url('../images/bg_content_upper.png') no-repeat top center, url('../images/bg_content_lower.png') no-repeat bottom center;
	min-height:1350px;
	margin-top:45px;
	line-height:2;
}
#content.mobile {
	background-image:url('../images/bg_content_sp_left.png'), url('../images/bg_content_sp_right.png');
	background-position:left 3% top 1%, right 3% top 3%;
	background-repeat: no-repeat, no-repeat;
	padding-top:60px;
	margin:20px auto 60px auto;
	max-width:96%;
	min-height:auto;
}

@media screen and (max-width: 480px) {
	#content.mobile {padding-top:60px;margin-top:0;}
}
#content .inner{
	max-width:1200px;
	margin:0 auto;
	text-align:center;
	padding:20px 2%;
}
#content h2, #content h1 {
	font-size:42px;
	letter-spacing:14px;
	line-height:1.6;
	margin-bottom:50px;
}
#content h2 .en, #content h1 .en {
	font-size:22px;
	letter-spacing:1px;
	color:var(--blue);
	font-weight:normal;
	display:block
}
#content h1 .en a {color:var(--blue);}
@media screen and (max-width: 768px) {
	#content h2 {font-size:32px;letter-spacing:8px;}
	#content h2 .en {font-size:18px;}
}
@media screen and (max-width: 480px) {
	#content h2, #content h1 {font-size:26px;letter-spacing:3px;margin-bottom:30px;}
	#content h2 .en, #content h1 .en {font-size:14px;}
}
#content .lead {
	margin-bottom:130px;
}
@media screen and (max-width: 480px) {
	#content .lead {padding:0 2%;text-align:left;margin-bottom:60px;}
}
#content .lead.case_lead {
	margin-bottom:80px;
	text-align:left;padding:30px;
	border-radius:30px;
	border:1px var(--blue) solid;
	text-align:center;
}
#content .lead.case_lead span {
	display:inline-block;
	margin-right:20px;
}
#content .lead.case_lead span::last-child() {
	margin-right:0;
}
#content .lead.case_lead p {text-align:left;}

.postlist {
	max-width:1300px;
	margin:0 auto;
	background:#f3f9ff;
	border-radius:30px;
	padding:60px 100px;
	box-sizing:border-box;
	margin-bottom:60px;
}
.postlist h2 {text-align:center;}
.postlist li {
	padding:25px 45px;
	font-size:18px;
	border-bottom:1px rgb(84, 103, 108) dotted;
	position:relative;
}
.postlist li::before {
    content: url(../images/icon_arrow.png);
    position: absolute;
	left:2px;
    top: 50%;
    transform: translateY(-50%);
}
@media screen and (max-width: 480px) {
	.postlist {padding:30px 20px;}
	.postlist li {padding-right:20px;}
}
.post_entry {
	text-align:left;
	line-height:1.8;
	padding-bottom:40px;
}
#content .post_entry h2 {
	margin-bottom:30px;
	font-size:36px;
	letter-spacing:7px;
}
#content .post_entry h3 {
	margin-bottom:30px;
	font-size:26px;
}
@media screen and (max-width: 480px) {
	#content .post_entry h2 {font-size:22px;letter-spacing:3px;}
	#content .post_entry h3 {font-size:18px;}
}

#content .post_entry h2:not(:first-child), #content .post_entry h3:not(:first-child) {padding-top:40px;}
#content .post_entry h2 + h3 {padding-top:10px!important;}
.post_entry p, .wp-block-image {
	margin-bottom:30px;
}
.post_entry p.has-medium-font-size {font-size:18px;}
.post_entry p.has-large-font-size {font-size:20px;}
.post_entry p.has-x-large-font-size {font-size:22px;}
.post_entry p.has-small-font-size {font-size:14px;}

.wp-block-list {padding:0 0 30px 0;}
#content .post_entry p + ul.wp-block-list {padding-top:0!important;}
.wp-block-list li {
	position:relative;
	font-size:16px;
	padding-left:24px;
	padding-top:2px;
}
.wp-block-list li::before {
	content:url('../images/icon_list_s.png');
	position:absolute;
	left:5px;
	top:0;
	bottom:0;
}
ol.wp-block-list li {
	list-style-type: decimal;
	padding-left:5px;
	margin-left:30px;
}
ol.wp-block-list li::before {content:none;}
.wp-block-embed__wrapper {position: relative;width: 100%;padding-top: 56.25%;}
.wp-block-embed__wrapper iframe{position: absolute;top: 0;right: 0;width: 100% !important;height: 100% !important;}

.case_gallery, .post_gallery {
	display: grid;
	grid-template-columns: minmax(auto, 25%) minmax(auto, 25%) minmax(auto, 25%);
	margin-bottom:30px;
}
.case_gallery li, .post_gallery li {padding:5px;position:relative;}
.case_gallery li .detail {
	display:none;
	position:absolute;
	bottom:0px;
	left:0px;
	padding:10px;
	width:100%;
	box-sizing:border-box;
	background:rgba(255, 255, 255, 0.5);
}
.case_gallery li:hover .detail {display:block;cursor:pointer;}
.case_gallery li .detail span {
	display:inline-block;
	margin-left:20px;
}
.post_gallery li {
	font-size:18px;
	position:relative;
	padding:20px 44px;
	text-align:center;
}
.post_gallery li .thumb img {border-radius:18px;max-width:300px;border:1px #f6d1e1 solid;}
.post_gallery li .title span {
	display:block;
}

@media screen and (max-width: 768px) {
	.post_gallery {grid-template-columns: minmax(auto, 50%)  minmax(auto, 50%);}
}
@media screen and (max-width: 480px) {
	.case_gallery {grid-template-columns: minmax(auto, 50%)  minmax(auto, 50%);}
	.case_gallery li .detail {left:0;line-height:1.3;padding:10px 0;font-size:16px;}
	.post_gallery {grid-template-columns: minmax(auto, 100%);}
}
.nav-links {text-align:center;padding-top:40px;}
.nav-links ul {
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 8px;
}
.nav-links li > * {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  height: 50px;
}
.nav-links li > *:not(.dots) {
  width: 50px;
  border-radius: 50%;
  color: #000000;
  background: #efefef;
  transition: color 0.3s ease, background 0.3s ease;
}
.nav-links li > .current,
.nav-links li > a:hover {
  color: #ffffff;
  background: #f09dc1;
}

.wpcf7 {font-size:18px;line-height:1.8;}
.wpcf7 input, .wpcf7 textarea {
	width:100%;
	padding:10px;
	border-radius:10px;
	border:2px #ebebeb solid;
	margin:15px 0;
}
.wpcf7 input[type="submit"], #wpcf7cpcnf button {
	width:48%;
	margin:0 1%;
	padding:10px;
	border-radius:10px;
	border:2px #ebebeb solid;
}
.wpcf7 input[type="submit"]:hover, #wpcf7cpcnf button:hover {
	background:#f6d1e1;
	border-color:#f6d1e1;
	color:#000;
}
#wpcf7cpcnf th, #wpcf7cpcnf td {
	display:block;
	width:100%;
	padding:10px;
}

.formpart {margin-bottom:30px;}
.formpart select {padding:10px;border:2px #ebebeb solid;border-radius:10px;width:100%;box-sizing:border-box;color:#54676c;}
.formpart span {display:block;}
.formpart .flex span:first-child {width:50%;margin-right:1%;}
.formpart .flex span:last-child {width:49%;}
.formpart .flex {align-items:center;}
.formpart .radiobox {padding:20px 0 0 20px;}
.formpart .address {flex-wrap:wrap;}
.formpart .address span {display:inline-block;width:49%;}
@media screen and (max-width: 480px) {
	.formpart .address.flex {display:block;}
	.formpart .address.flex span {display:block;width:100%;}
}
.formpart .radiobox input, .formpart .radiobox span {display:inline;width:auto;}
.formpart .radiobox span.wpcf7-list-item {display:inline-block;} 

#wpcf7cpcnf:before {
	content:'※以下の内容をご確認の上、送信してください。';
	position:absolute;
	top:-50px;
	left:0;
	font-weight:bold;
}
#wpcf7cpcnf table {width:100%;}
#wpcf7cpcnf td {width:100%;border-bottom:1px #888 dotted;}

@media screen and (max-width: 480px) {
.post_entry .wp-block-image .alignright, .post_entry .wp-block-image .alignleft {float:none;margin:0 auto 30px auto;}
.post_entry .wp-block-image {text-align:center;}	
}

.wp-block-columns {display:flex;justify-content:space-between;text-align:center;}
@media screen and (max-width: 480px) {
.wp-block-columns {display:block;}	
}

.wp-block-table {margin-bottom:30px;}
.wp-block-table figcaption {text-align:right;font-size:13px;}
.wp-block-table	th, .wp-block-table td {vertical-align:top;text-align:left;}
.post_39 .wp-block-table {padding-left:10%;width:80%;}
.post_39 .wp-block-table table {border:1px #ccc solid;width:100%;}
.post_39 .wp-block-table td {padding:10px;}
.post_39 .wp-block-table td.left-col {width:40%;}
.threecolumns table, .twocolumns table {width:100%;border-collapse:collapse;}
.threecolumns th, .twocolumns th {padding:8px;border:1px #ccc solid;text-align:left;background:#eee;}
.threecolumns td, .twocolumns td {padding:8px;border:1px #ccc solid;text-align:left;}
.threecolumns td:nth-child(3) {width:50%;}
@media screen and (max-width: 480px) {
	.wp-block-table	th, .wp-block-table td {display:block;width:100%!important;height:auto!important;}
	.twocolumns td {text-align:right;}
	.wp-block-table.sp-cell	th, .wp-block-table.sp-cell td {display:table-cell;}
}
.post_68 .wp-block-table table {border-collapse: separate;border-spacing:0;border:1px #eee solid;border-radius:10px;}
.post_68 .wp-block-table tr:first-child th {border-radius:10px 0 0 0;}
.post_68 .wp-block-table tr:first-child td {border-radius:0 10px 0 0;}
.post_68 .wp-block-table tr:last-child th {border-radius:0 0 0 10px;}
.post_68 .wp-block-table tr:last-child td {border-radius:0 0 10px 0;}
.post_68 .wp-block-table th {background:#ffeef4;border-color:#ddd;}
.post_68 .wp-block-table td {border-color:#ddd;}

.post_25 .wp-block-table th, .post_29 .wp-block-table th, .post_27 .wp-block-table th, .post_35 .wp-block-table th {text-align:center;}


//color palette
//black
.has-black-background-color {
  background-color: #333;
}
.has-black-color {
  color: #333;
}

//white
.has-white-background-color {
  background-color: #fff;
}
.has-white-color {
  color: #fff;
}

//red
.has-red-background-color {
  background-color: #dc143c;
}
.has-red-color {
  color: #dc143c;
}

//deeppink
.has-deeppink-background-color {
  background-color: #ff1493;
}
.has-deeppink-color {
  color: #ff1493;
}

//pink
.has-pink-background-color {
  background-color: #f6d1e1;
}
.has-pink-color {
  color: #f6d1e1;
}

//mediumblue
.has-mediumblue-background-color {
  background-color: #0000cd;
}
.has-mediumblue-color {
  color: #0000cd;
}

//blue
.has-blue-background-color {
  background-color: #5ac3e0;
}
.has-blue-color {
  color: #5ac3e0;
}
//green
.has-green-background-color {
  background-color: #008000;
}
.has-green-color {
  color: #008000;
}

//orange
.has-orange-background-color {
  background-color: #ffa500;
}
.has-orange-color {
  color: #ffa500;
}

//yellow
.has-ywllow-background-color {
  background-color: #ffff00;
}
.has-ywllow-color {
  color: #ffff00;
}
