@charset "utf-8";

/* ---------- content */

:root {
  --en-color: #A79677;
  --titlecolor: #002E86;
  --bluecolor: #2356B5;
  --pinkcolor: #FC458C;
  --yellowcolor:#FFAB0B;
  --goldcolor:#7B6C4F;
	
}

.clr_yellow {
	color:var(--yellowcolor);
}
.color_pink {
	color:var(--pinkcolor);
}
.clr_blue {
	color:var(--bluecolor);
}
.bg_FAF5EC {
	background:#FAF5EC;
}
.marker_y {
	background:linear-gradient(transparent 60%, #FBDF54 60%);
}

.page_btn {
	border:1px solid #2356B5;
	background:#2356B5;
	border-radius:30px;
	display:block;
	padding:10px 30px;
	max-width:300px;
	color:#fff;
	margin: 0 0 30px;
	text-align:center;
}
.page_btn::after {
	content:"●";
	font-size:14px;
	margin-left:10px;
}
.page_btn:hover {
	background:#fff;
	border:1px solid #2356B5;
	transform:1s;
	transition:ease-in;
}
@media screen and (max-width: 768px) {
.page_btn {
	width:100%;
}
}



/* ---------- content */

.lower_section {
  padding: 100px 0 0;
}
.lower_section_first {
 padding: 50px 0 80px;	
}
.lower_section_last {
 padding: 100px 0 80px;	
}

.lower_section img {
  max-width: 100%;
}
.w1200 {
	width:1200px;
	margin:0 auto;
}
.pd_block50 {
  padding: 70px 70px 90px;
}
.pd_block_50 {
  padding: 50px;
}
.pd_block_0_50 {
  padding:0 50px 50px;
}

.pd_block_200{
  padding: 50px 200px;
}
.bg-plus {
	background:url(../img/general/bg-plus.png) bottom center no-repeat;
	background-position:cover;
}
.bg-marble {
	background:url(../img/doctor/bg-marble.webp) no-repeat bottom center / cover;
	position:relative;
}

.postion_relative {
	position:relative;
}

@media screen and (max-width: 768px) {
.w1200 {
	width:100%;
	margin:0 auto;
}
.pd_block50 {
  padding: 50px 20px 50px;
}
.pd_block_50 {
  padding: 40px 20px;
}
.pd_block_200{
  padding: 50px 0;
}
.pd_block_0_50 {
  padding:0 0 50px;
}

}


/* ---------- pageheader */

.pageheader {
  /* overflow: hidden;*/
}
.pageheader .inner {
  position: relative;
}
.pageheader h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  flex-direction: column;
  gap: 0;
  color: var(--keycolor);
  font-size: 2em;
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
  transform: translate(-50%, -50%);
}
.pageheader h2 .en {
  color: #A79677;
  font-size: .75em;
}

@media screen and (max-width: 768px) {
  
  .pageheader h2 {
    font-size: 6vw;
  }
  .pageheader .inner img {
    height: 30vw;
    object-fit: cover;
  }
}


/* ---------- headline */

.treatmentTitle {
	margin-bottom:3em;
}
.treatmentTitle > p.subTitle {
	font-size:1.25em;
	color:var(--en-color);
	padding:0;
}
.treatmentTitle h2 {
	color: var(--titlecolor);
	font-size:2.5em;
	padding:0;
	margin:-20px 0 0;
	line-height:1.3;
}
.treatmentTitle p {
	color: var(--titlecolor);
}
.hd02_c {
	color: var(--titlecolor);
	font-size:2em;
	margin-bottom:25px;
}
.hd02_fukidashi {
	position:relative;
	font-size:2em;
	color: var(--titlecolor);
	top:-50px;
}
.hd02_fukidashi::before {
	content:"/";
	margin-right:10px;
}
.hd02_fukidashi:after {
	content:"/";
	margin-left:10px;
}
.hd02_fukidashi_a {
	position:relative;
	background:url(../img/aesthetic/bg_fukidashi.svg) bottom center no-repeat;
	font-size:2em;
	color: var(--titlecolor);
}

.hd03_line_Y {
	border-left:5px solid #FFBB0B;
	padding:5px 0 5px 20px;
	font-size:1.75em;
	color: var(--titlecolor);
	margin-bottom:1em;
}
.hd03_c {
	color: var(--bluecolor);
	font-size:1.625em;
}
.hd03_c span {
	font-size:0.8em;
}
.hd03_gold {
	font-size:1.5em;
	color: var(--goldcolor);
	margin-bottom:15px;
}
.hd04_c {
	font-size:1.5em;
	color: var(--titlecolor);
	margin-bottom:15px;
}
.hd04_c span {
	color:#2B2B2B;
	font-size:0.75em;
}
.hd04_line {
	font-size:1.625em;
	color: var(--titlecolor);
	padding-bottom:15px;
	border-bottom:1px dotted #2356B5;
	margin-bottom:20px;
}
.hd04_gold {
	font-size:1.25em;
	color: var(--goldcolor);
}
.hd04_line2 {
	font-size:1.25em;
	color: var(--titlecolor);
	padding-bottom:15px;
	border-bottom:1px dotted #2356B5;
	margin-bottom:15px;
}

.hd04_a {
	font-size:1.5em;
	color: #fff;
	padding:10px;
	background:#2356B5;
}

.hd05_underline {
	font-size:1.25em;
	border-bottom:1px dotted #707070;
	padding-bottom:10px;
	padding-left:5px;
}
@media screen and (max-width: 767px) {
	.hd02_fukidashi {
	position:relative;
	font-size:2em;
	color: var(--titlecolor);
	top:-30px;
}
.hd04_c {
	font-size:1.25em;
	color: var(--titlecolor);
	margin-bottom:15px;
}
	.hd_index01 .sub {
		font-size:1.25em;
		margin-right:10px;
	}
.hd02_fukidashi_a {
	position:relative;
	background:url(../img/aesthetic/bg_fukidashi.svg) bottom center no-repeat;
	background-size:90%;
	font-size:2em;
	color: var(--titlecolor);
}

}

.speechBubble {
  position: relative;
  display: flex;
	justify-content:center;
  margin-bottom: 20px;
  padding: 10px 16px;
  border-bottom: 1px solid #707070;
  background-color: #FAF5EC;
  font-size: 1.625em;
	margin:0 auto;
	width:500px;
  text-align: center;
	left:0;
	right:0;
}

.speechBubble::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 20px 20px 0 0;
  border-color: #707070 transparent transparent;
  translate: -50% 100%;
}

.speechBubble::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 18px 18px 0 0;
  border-color: #FAF5EC transparent transparent;
  translate: calc(-50% - 0.4px) 100%;
}

@media screen and (max-width: 767px) {
	.speechBubble {
	width:100%;
		 display: inherit;

}
}

/* ---------- flex */

.flex-reverse {
  flex-direction: row-reverse;  
}
@media screen and (min-width: 769px) {
  .flex-reverse_pc {
    flex-direction: row-reverse;  
  }
}


@media screen and (min-width: 769px) {
  .flex-2 {
    display: flex;
    justify-content: space-between;
    column-gap: 20px;
  }
  .flex-2 .flex-img {
    width: 40%;
  }
  .flex-2 .flex-txt {
    width: 55%;
    flex-grow: 1;
  }
}

/* ---------- list  */
.list_check {
	margin-left:20px;
}
.list_check li {
	margin-bottom:10px;
	background:url(../img/general/list_check.svg) center left no-repeat;
	padding-left:30px;
	background-size:20px;
	font-size:1.125em;
}
.list_no {
	margin-left:40px;
}

.list_no li {
margin-bottom:10px;
	font-size:1.125em;
	list-style-type:decimal;
}

.list_check_trouble {
	margin-left:20px;
	display:flex;
	justify-content:space-around;
	flex-flow:row wrap;
}
.list_check_trouble li {
	margin-bottom:10px;
	background:url(../img/list_check.svg) center left no-repeat;
	padding-left:30px;
	background-size:20px;
	font-size:1.125em;
	flex-basis:48%;
}
@media screen and (max-width: 767px) {
.list_check {
	margin-left:0px;
}
.list_check_trouble {
	margin-left:20px;
	display:block;
}
.list_check_trouble li {
	margin-bottom:10px;
	background:url(../img/list_check.svg) top left no-repeat;
	background-position:0 10px;
	padding-left:30px;
	background-size:20px;
	font-size:1.125em;
	flex-basis:48%;
}
}


/* General
----------------------------------------  */
.expl-txt {
	position:relative;
	padding:40px 30% 35px 50px;
}
.bg-ph01 {
	background:url(../img/general/ph_g_02.webp) bottom right no-repeat;
	background-color:#FAF5EC;
}
.bg-FAF5EC { 
	background-color:#FAF5EC;
}
.listBox {
	border: 1px dotted #002E86;
	padding:30px;
}
.listBox h4 {
	font-size:1.5em;
	color: var(--titlecolor);
	margin-bottom:20px;
}

@media screen and (max-width: 767px) {
.bg-ph01 {
	background:none;
	background-color:#FAF5EC;
	padding:20px;
}
.expl-txt {
	position:relative;
	padding:30px 20px;
}
	
}


/* whitening
----------------------------------------  */
.whitening_type {
	position:relative;
	box-shadow:;
	padding:0 30px 30px;
}
.header_whitening_type {
	position:relative;
	top:-20px;
}
.header_whitening_type > p {
	font-size:1.25em;
	color:var(--en-color);
	padding:0;
}
.header_whitening_type h3 {
	font-size:1.75em;
	color:var(--titlecolor);	
	margin:-25px 0 0;
	padding:0;
}
.whitening_type h4 {
	color:var(--titlecolor);
	text-align:center;
	font-size:1.25em;
	padding:20px 0 15px;
}
.whitening_cost {
	border-top:1px dotted #707070;
	padding:15px 7px;
	display:flex;
	justify-content:space-between;
	color:var(--titlecolor);
}
.whitening_cost:last-child {
	border-bottom:1px dotted #707070;
}
.whitening_qa {
	color: var(--titlecolor);
	font-size:2em;
	background:url(../img/whitening/bg_qa.svg) left top no-repeat;
	padding:70px 0 50px 30px;
}


.w_accordion {
    max-width: 100%;
    margin-bottom: 10px;
    border-radius: 5px;
    box-shadow: 0 7px 15px -5px rgb(0 0 0 / 5%);
    background-color: #fff;
}

.w_accordion summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.w_accordion summary::-webkit-details-marker {
    display: none;
}

.w_accordion summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .3s;
}

.w_accordion[open] summary::after {
    transform: rotate(225deg);
}

.w_accordion p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 2em 1.5em;
    color: #333333;
    transition: transform .5s, opacity .5s;
}

.w_accordion[open] p {
    transform: none;
    opacity: 1;
}

/* Children
----------------------------------------  */

.bg-ph02 {
	background:url(../img/children/ph02.png) top right no-repeat;
	background-color:#FAF5EC;
}
.child_prevention_bg {
	background:url(../img/children/bg02.png) bottom center no-repeat;
	background-size:cover;
	padding:50px 0 100px;
}
.ph_left {
	float:left;
	margin-right:30px;
}
.sealantBox {
	background:rgba( 255, 255, 255, .6);
	padding:30px;		
}
.sealantBox h4 {
	color:var(--en-color);
	font-size:1.5em;
	margin-bottom:15px;
}
.bg-ph03 {
	background:url(../img/children/bg03.png) top right no-repeat;
	background-color:#FAF5EC;
}
@media screen and (max-width: 767px) {
.bg-ph02 {
	background:none;
	background-color:#FAF5EC;
	padding:20px;
}
.bg-ph03 {
	background:none;
	background-color:#FAF5EC;
	padding:20px;
}
.sealantBox {
	padding:20px;		
}
.sealantBox img {
	width:30%;		
}
	
}

/* Aesthetic
----------------------------------------  */
.bg-ph04 {
	background:url(../img/aesthetic/bg01.png) top right no-repeat;
	background-color:#FAF5EC;
}
.aesthetic_prevention_bg {
	background:url(../img/aesthetic/bg02.png) bottom center no-repeat;
	background-size:cover;
	padding:50px 0 100px;
}
.flex-4 {
	display:flex;
	justify-content:space-between;
}
.flex-4 div {
	width:calc(25% - 25px);
}

.recommendation p {
	padding-top:7px;
	text-align:center;
	font-size: 2rem;
	line-height:1.6;
}

.underline {
	border-bottom:1px dotted #BEBEBE;
} 
.aesthetic_cost {
	display:flex;
	justify-content:space-between;
	color:var(--titlecolor);
	margin-bottom:-10px;
}
table.comparison {
	width:100%;
}
table.comparison th, td {
	padding:15px;
	border-bottom:1px dotted #BEBEBE;
	text-align:center;
}
table.comparison th {
	width:40%;
}
.br_line {
	border-right:1px dotted #BEBEBE;
}
.bg_blue {
	color:#fff;
	background:#002E86;
}
.bg_pink {
	color:#fff;
	background:#FC458C;	
}
.bg_blue2 {
	background:#EDF3FF;
}
.bg_pink2 {
	background:#FFF2F7;	
}
.dotted_lineBox {
	border:1px dotted #707070;
	padding:20px;
}
@media screen and (max-width: 767px) {
.bg-ph04 {
	background:none;
	background-color:#FAF5EC;
	padding:20px;
}
.aesthetic_cost dd {
	font-size:1.1em
}
	.flex-4 {
	display:flex;
	justify-content:space-between;
	flex-flow:wrap row
}
.flex-4 div {
	width:calc(50% - 15px);
}
	.recommendation p {
	padding-top:7px;
	text-align:center;
	font-size: 1.5rem;
	line-height:1.6;
}
.table-wrap {
  overflow-x: scroll;
}
.table {
  width: 100%;
  min-width: 700px;
  border-collapse: collapse;
}
}

/* oral
----------------------------------------  */
.bg-ph05 {
	background:url(../img/oral/bg01.png) top right no-repeat;
	background-color:#FAF5EC;
}
.trouble_box {
	position:relative;
}
.trouble_box img {
	position:absolute;
	left:0;
	right:0;
	top:-40px;
	 margin:0 auto;
}
.bg_fff_underline {
	background:#fff;
	border-bottom:2px solid #2356B5;
	padding:20px;
}
.flow_no {
	margin-bottom:25px;
	padding-left:50px;
}
.flow_no dt {
	font-size:1.25em;
}
.no01 {
	background:url(../img/oral/01.svg) left top no-repeat;
	background-size:40px;
	background-position:5px 5px;
}
.no02 {
	background:url(../img/oral/02.svg) left top no-repeat;
	background-size:40px;
	background-position:5px 5px;
}
.no03 {
	background:url(../img/oral/03.svg) left top no-repeat;
	background-size:40px;
	background-position:5px 5px;
}
.no04 {
	background:url(../img/oral/04.svg) left top no-repeat;
	background-size:40px;
	background-position:5px 5px;
}
.no05 {
	background:url(../img/oral/05.svg) left top no-repeat;
	background-size:40px;
	background-position:5px 5px;
}
.no06 {
	background:url(../img/oral/06.svg) left top no-repeat;
	background-size:40px;
	background-position:5px 5px;
}
.no07 {
	background:url(../img/oral/07.svg) left top no-repeat;
	background-size:40px;
	background-position:5px 5px;
}
.merit_list, .demerit_list {
	background:#EBF6FF;
	padding:30px;
}
.merit_list ul, .demerit_list ul {
	margin-left:10px;
}
.merit_list li {
	background:url(../img/oral/list_circle.svg) left top no-repeat;
	background-position:0 6px;
	padding-left:30px;
	margin-bottom:15px;
}
.demerit_list li {
	background:url(../img/oral/list_triangle.svg) left top no-repeat;
	background-position:0 6px;
	padding-left:30px;
	margin-bottom:15px;
}
.ttlflow {
	color: var(--titlecolor);
	font-size:2em;
	background:url(../img/oral/bg_flow.svg) left top no-repeat;
	padding:70px 0 20px 30px;
	margin-left:50px;
}
.margin_0_auto {
	margin:0 auto;
}
@media screen and (max-width: 767px) {
	.bg-ph05 {
	background:none;
	background-color:#FAF5EC;
	padding:20px;
}
	.ttlflow {
	padding:70px 0 20px 20px;
	margin-left:0px;
}
.merit_list ul, .demerit_list ul {
	margin-left:0px;
}
}


/* Doctor
----------------------------------------  */
.name-flex {
	display:flex;
	position:absolute;
	right: 0;
  left: 0;
	top:-30px;
	margin:0 auto;
	width:500px;
}
.post_name {
	background:#002E86;
	color:#fff;
	font-size:1.25em;
	padding:12px 15px 0;
	margin-right:15px;	
}
.name {
	font-size:2em;
}
.name span{
	font-size:0.6em;
}
.doctor_career div {
	position:relative;
	background:#fff;
	box-shadow:0 0 10px rgba(0,0,0, 0.11);
	padding: 0 30px 25px;
}
.doctor_career div ul {
	padding:20px 0 10px 50px;
	border-top:1px dotted #707070;
	border-bottom:1px dotted #707070;
	
}
.doctor_career div li {
	list-style-type:disc;
	margin-bottom:10px;
}
.doctor_career h3 {
	font-size:1.5em;
	color: var(--bluecolor);
	position:relative;
	top:-20px;
}
.doctor_career h3 span {
	color:var(--goldcolor);
	font-size:0.6em;
}

@media screen and (max-width: 767px) {
.name-flex {
	display:inherit;
	right: 0;
  	left: 0;
	top:-30px;
	margin:0 auto;
	width:200px;
	text-align:center;
}
.post_name {
	background:#002E86;
	color:#fff;
	font-size:1.25em;
	padding:4px 15px 4px;
	margin-right:0;	
}
	
.name {
	padding-top:15px;
	font-size:2em;
		line-height:1;
}
	.doctor_career div li {
	list-style-type:disc;
	margin-bottom:0px;
}
	.doctor_career div ul {
	padding:20px 0 10px 30px;

}
}

/* Orthodontic
----------------------------------------*/
.bg-ph06 {
	background:url(../img/orthodontic/bg01.png) top right no-repeat;
	background-color:#FAF5EC;
}
.bg-ph10 {
	background:url(../img/orthodontic/bg20.webp) top right no-repeat;
	background-color:#FAF5EC;
}
.ttlfeature {
	color: var(--titlecolor);
	font-size:2em;
	background:url(../img/orthodontic/bg-feature.svg) left top no-repeat;
	padding:70px 0 20px 30px;
	margin-left:50px;
}
.bg-feature {
	background:url(../img/orthodontic/bg_feature.webp) bottom center no-repeat;
	background-size:cover;
}
.triangle {
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-top: 10px solid #2356b5;
  border-bottom: 0;
	margin-left:10%;
}

table.comparison {
　/* セルを分離する */
  border-collapse: separate;
  /* 横の隙間を10px、縦の隙間を0にする */
  border-spacing: 10px 0;

}
table.comparison tr, td {
	padding:15px 10px;
	text-align:center;
	  border-collapse: separate;
  /* 横の隙間を10px、縦の隙間を0にする */
  border-spacing: 10px 0;
}
.line_glay {
	border-bottom:1px solid #C6C6C6;
}
.dotline_gold {
	border-bottom:1px dotted #A79677;
}
.dotline_blue {
	border-bottom:1px dotted #2356B5;
}
.bg_white {
	background:#fff;
}
.bg_white2 {
	background:#F4F4F4;
}
.bg_glay {
	background:#EAEAEA;
}
.bg-blue {
	background:#DEF0FA;
}
.bg-blue2 {
	background:#C9DAF5
}
.bg-gold {
	background:#F2EADB;
} 
.bg-blue3 {
	background:#EBF6FF;
}
.bd_r {
	border-right:1px dotted #B2B2B2;
}


.th_ttl_inv {
	width:100%;
	padding:10px 30px;
	border-radius:7px;
	background:#2356B5;
	color:#FBDF54;
	font-size:1.25em;
	margin-bottom:-0.3em!important;
	line-height:1.4;
}
.th_ttl_wire {
	width:100%;
	padding:10px 30px;
	border-radius:7px;
	background:#A39E93;
	color:#fff;
	font-size:1.25em;
	margin-bottom:-0.3em!important;
}

.list-co_hanarabi {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .list-co_hanarabi li {
    width: 30%;
    width: calc((100% - (20px * 2)) / 3);
  }
	.bg-ph10 {
	background:none;
		background-color:#FAF5EC;
}
	.bg-ph06 {
	background:none;
	background-color:#FAF5EC;
}
}
@media screen and (min-width: 769px) {
  .list-co_hanarabi li {
    width: 18%;
    width: calc((100% - (20px * 4)) / 5);
  }
}



/* Clinic
----------------------------------------*/
.clinic_feature {
	display:flex;
	justify-content:space-between;
}
.clinic_feature img {
	min-width:60px!important;
}
.clinic_feature div {
	padding:10px 0 0 10px;
}
.clinic_menu {
	display:flex;
	justify-content:space-around;
	flex-flow:wrap row;
}
.clinic_menu li {
	width:33%;
}



@media screen and (max-width: 767px) {
.clinic_feature img {
	min-width:40px!important;
}
	.clinic_menu li {
	width:100%;
}
	.clinic_menu a.page_btn {
		min-width:100%;
		margin-bottom:15px;
	}
}

/* Intensive Care（集中治療）
----------------------------------------*/
.bg-ph11 {
	background:url(../img/intensivecare/bg01.webp) top right no-repeat;
	background-color:#FAF5EC;
}
@media screen and (max-width: 768px) {
	.bg-ph11 {
	background:none;
		background-color:#FAF5EC;
}
}

/************************************
** Contact form 7 CSSカスタマイズ
************************************/
/* 入力欄全体の設定 */
input[type="text"],input[type="password"],input[type="datetime"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],
input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],select,textarea {
    display: block;
    width: 100%;
    height: 45px;
    margin-bottom: 0;
    padding: 0 12px;
    border: 0;
    border-radius: 3px;
    box-shadow: none;
    background-color: #F6F8F8;
    color: #5c6b80;
    font-size: 1em;
    vertical-align: middle;
    line-height: 45px;
    transition: background-color 0.24s ease-in-out;
}
/* テキストエリアの設定 */
table.CF7_table textarea {
    resize: vertical;
    max-width: 100%;
    min-height: 300px;
    line-height: 1.5em;
    padding: 0.5em;
    overflow: auto;
}
/* 入力欄とテキストエリア共通 */
.CF7_table input, .CF7_table select, .CF7_table textarea {
	border: 1px solid #d8d8d8;
}
/* table */
table.CF7_table {
	width: 100%;
	margin: 0 auto;
	border: none !important
}
table.CF7_table tr {
	border-top: 1px solid #e5e5e5;
}
table.CF7_table th {
  width: 30%;
  background-color: #F6F8F8;
	font-size: 15px;
	vertical-align: middle;
}
/* 背景を削除 */
table.CF7_table tr,
table.CF7_table th,
table.CF7_table td {
	padding: 0.75rem 0.75rem !important;
	background: none !important;
	border: none !important;
}
.single .entry-content table.CF7_table,
.page .entry-content table.CF7_table {
	display: table;
}
.CF7_table ::placeholder {
	color: #797979;
}

/*「必須」文字*/
.CF7_req{
	font-size: .9em;
	padding: 4px 7px;
	background: #FC458C;
	color: #fff;
	border-radius: 3px;
	margin-right:1em;
}

/*「任意」文字*/
.CF7_unreq{
	font-size: .9em;
	padding: 4px 7px;
	background: #1145A5;
	color: #fff;
	border-radius: 3px;
	margin-right:1em;
}

/* レスポンシブ */
@media screen and (max-width: 768px){
	table.CF7_table{
	    width: 100%;
	}
	.CF7_table tr, .CF7_table td, .CF7_table th{
        display: block;
        width: 100% !important;
        line-height: 2.5em;
	}
	.CF7_table th{
	    background-color: #F6F8F8;
	}
}

/* 「送信する」ボタン */
.wpcf7 input.wpcf7-submit {
	background-color: #011336;
	color:#fff;
	font-size:1.2em;
	font-weight: bold;
	margin: 0 auto;
	padding: 15px 30px;
	transition: all 0.5s 0s ease;
}
.wpcf7 input.wpcf7-submit:hover {
  background: #fff;
	color: #011336;
}
.CF7_btn{
	text-align: center;
	margin: 20px;
}
.wpcf7-spinner{
	width:0;
	margin:0;
}
wpcf7-form-control-wrap {
  position: relative;
}

/* デフォルトのチェックボックスを見えなくする */
.form-acceptance input[type=checkbox] {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 1;
  margin: 0;
  width: 16px;
  height: 16px;
  cursor: pointer;
  opacity: 0; 
}

/* チェックボックスの枠を表示*/
.form-acceptance .wpcf7-form-control-wrap::before {
  content: "";
  position: absolute;
  top: 52%;
  left: -1.5em;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  border: 1px solid #000;
  background: #FFF;
  cursor: pointer;
  transition: all 0.3s;
}

/* チェックボックスのチェックを画像で表現*/
.form-acceptance .wpcf7-form-control-wrap::after {
  content: "";
  position: absolute;
  top: 52%;
  left: -1.5em;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background: transparent url(画像のパス) no-repeat center center / contain;
  cursor: pointer;
  transition: all 0.3s;
  opacity: 0; 
}

input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}

input[type=checkbox]:checked + .wpcf7-list-item-label::before {
  opacity: 0;
}
.screen-reader-response {
	text-align:center;
	background:#FC4545;
	color:#fff;
	padding:10px 10px 1px;
}
.wpcf7-response-output {
	text-align:center;
	background:#FC4545;
	color:#fff;
	padding:10px 10px 10px;
}

/* ************************************
  ************************************ */
.information_list .title { margin-left:10px;}

.news_detail header h2 {
	color:#081C41;
	font-size:2em;
}

.news_detail .entry_body h2 {
	color:#081C41;
	font-size:1.75em;
	color:#2356B5;
}
.news_detail .entry_body h3 {
	border-left:5px solid #2356B5;
	color:#2356B5;
	font-size:1.25em;
	padding:4px 0 4px 15px;
	
}

.breadcrumbs {
	display:flex;
	justify-content:end;
	font-size:.75em;
	text-align:right;
	padding:10px;
}

h2.wsp-pages-title, h2.wsp-posts-title {
	font-size:1.25em;
	border-left:4px solid #FFAB0B;
	padding-left:10px;
	margin-bottom:10px;
}

.wsp-pages-list, .wsp-posts-list {
	margin-bottom:50px;
}
.wsp-pages-list li, .wsp-posts-list li {
	border-bottom:1px dotted #ccc;
	padding:5px 10px;

}