@charset "UTF-8";

body {
    font-family: "Noto Sans JP", Meiryo, メイリオ, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "YuGothic", "游ゴシック", Helvetica, Arial, sans-serif;
    font-size: 100%;
    line-height: 1.5;
    background-color:#fff;
    color: #4f4946;
    overflow: hidden;
    display: flex;
    flex-flow: column;
    min-height: 100vh;
}

a {
    transition: all 0.2s ease;
    text-decoration: none;
    color: inherit;
}

a:hover, a:focus, a:active {
    text-decoration: none;
}

a:hover {
    transition: all 0.2s ease;
    opacity: 0.8;
}


/* Heading */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    margin: 0;
    padding: 0;
    font-weight: normal;
    font-size:inherit;
}

ul, ol {
    list-style-type: none;
}

input[type="button"],
input[type="reset"],
input[type="submit"],
input[type="text"],
input[type="number"],
input[type="tel"],
input[type="password"],
input[type="email"],
input[type="search"],
textarea {
    appearance: none;
    border-radius:0;
}
  
select {
    border-radius:0;
}

.nolink {
    pointer-events: none;
}

.dib {
    display:inline-block;
}

.t_left {
    text-align:left !important;
}

.mb20 {
    margin-bottom:20px;
}

.tcr {
    text-align:center;
}

.sp {
    display:none !important;
}

.sp-hide {
    display: inline-block;
}

.pc-hide {
    display: none;
}

.yu-gothic {
    font-family: "yu-gothic-pr6n", sans-serif;
    font-weight: bold;
    font-style: normal;
}

.gothic {
    font-family: "Noto Sans JP", Meiryo,メイリオ,"Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN","YuGothic","游ゴシック",Helvetica,Arial,sans-serif;
}

.mincho {
    font-family: "Noto Serif JP", "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif !important;
}

img {
    width: 100%;
}

.pan {
    width: 100%;
    background-color: #dadada;
    font-size: 90%;
}

.pan ul {
    width: 90%;
    margin: auto;
    padding: 5px;
}

.pan li {
    display: inline-block;
}

.error {
    color: #f00;
    margin: 20px auto;
}

label,
input[type="radio"],
input[type="checkbox"] {
    cursor: pointer;
}

/*--------------------
	ttl,buttton
----------------------*/

.ttl01 {
    font-family: "Source Serif Pro", sans-serif;
    display: inline-block;
    font-size: 200%;
    letter-spacing: 0.2em;
    line-height: 1.1;
    border-bottom: solid 2px #82cbd1;
    margin: 0 0 3%;
}

.ttl02 {
    color: #42BDD8;
    font-family: "Noto Sans JP", Meiryo, メイリオ, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "YuGothic", "游ゴシック", Helvetica, Arial, sans-serif;
    font-size: 25px;
    letter-spacing: 3px;
    border-left: solid 5px;
    line-height: 1;
    padding-left: 25px;
    margin-bottom: 35px;
}

.ttl03 {
    margin: 70px 0;
    border-bottom: solid 2px #42bdd7;
    font-size: 100%;
    letter-spacing: 0.2em;
    color: #42bdd7;
    font-weight: bold;
}

.ttl03 p {
    max-width: 1000px;
    margin: auto;
}

.ttl03 span {
    display: inline-block;
    margin-bottom: -2px;
    padding: 10px 30px;
    border: solid 2px #42bdd7;
    border-bottom: none;
    background-color: #fff;
    min-width: 300px;
    text-align: center;
}

.ttl04 {
    font-size: 30px;
    letter-spacing: 3px;
    text-align: center;
    margin-bottom: 75px;
    position: relative;
}

.ttl04:after {
    content: "";
    width: 80px;
    position: absolute;
    border-bottom: solid 2px #42bdd7;
    bottom: -8px;
    transform: translateX(-50%);
    left: 50%;
}

.btn01 {
    display: block;
    width: 90%;
    max-width: 350px;
    margin: 0 auto;
    font-weight: bold;
    background-color: #a1deec;
    padding: 12px 0;
    text-align: center;
    font-size: 120%;
}

.btn01.btn_white {
    background-color: #fff;
}

.btn02 {
    display: inline-block;
    font-weight: bold;
    padding: 8px 40px;
    color: #42bdd7;
    border: solid 1px;
    border-radius: 40px;
}

.btn02:hover {
    opacity: 1;
    background-color: #42bdd7;
    color: #fff;
    border: solid 1px #42bdd7;
}

main {
    overflow:hidden;
    width: 100%;
    margin: 0 auto;
}



/*--------------------
	contents
----------------------*/
.content {
    width:90%;
    max-width:1080px;
    margin: 0 auto;
  }


/*--------------------
	header
----------------------*/

.header_line {
    background-color: #42bdd7;
    color: #fff;
    font-size: 14px;
    padding: 10px 3%;
    height: 41px;
}

.header_top {
    padding: 1% 0;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: space-between;
    width: 97%;
    max-width: 1350px;
    margin: auto;
}

.logo {
    width: 12%;
    max-width: 150px;
}

.menuslide {
    display:none;
}


.gmenu {
    width:85%;
}

.gmenu ul {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    color: #4f4946;
    line-height: 1.5;
}

.gmenu li {
    display: flex;
    flex-flow: row wrap;
    margin: 5px 10px;
}

.gmenu li:nth-child(5) {
    margin-left: auto;
}

.gmenu li:nth-child(7) {
    width: 150px;
    height: 50px;
}

.gmenu li a {
    display: flex;
    position: relative;
    overflow: hidden;
    width: 100%;
    text-align: center;
    justify-content: center;
    align-items: center;
}

.gmenu li:nth-child(5) a {
    border: solid 1px #a7a4a2;
    pointer-events: none;
    padding: 0 15px;
    height: 50px;
    line-height: 1.1;
}

.gmenu li:nth-child(6) a {
    border: solid 1px #82cbd1;
    padding: 0 15px;
    height: 50px;
    line-height: 1.1;
}

.gmenu li:nth-child(7) a {
    border: solid 1px #a7a4a2;
    padding: 0 10px;
    height: 50px;
    line-height: 1.1;
}

.gmenu li a:before {
    content: "";
    position: absolute;
    left: 51%;
    right: 51%;
    bottom: 0;
    background: #82cbd1;
    height: 2px;
    transition-property: left, right;
    transition-duration: 0.3s;
    transition-timing-function: ease-out;
}

.gmenu li a:hover:before, .gmenu li a:focus:before, .gmenu li a:active:before {
    left: 0;
    right: 0;
}

.main_img {
    position: relative;
}

.main_img p:first-child {
    width: 20%;
    position: absolute;
    right: 14%;
    transform: translateY(-50%);
    top: 50%;
}


/*--------------------
	top
----------------------*/

.top01 {
    padding: 3% 0 7%;
    width: 97%;
    max-width: 1130px;
    margin: 0 auto;
    text-align: center;
    font-size: 120%;
}

.top01>p {
    line-height:3em;
}

.top01 div {
    width: 95%;
    margin: 3% auto 0;
    max-width: 900px;
}

.top01 div p:last-child {
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    left: 5%;
    width: 30%;
}

.top02 {
    padding: 0 0 7%;
    width: 97%;
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.top02 dl {
    margin-bottom: 3%;
    text-align: left;
    border-top: solid 1px #dcdbda;
    display: flex;
    flex-flow: row wrap;
    font-size: 120%;
}

.top02 dl dt {
    width: 150px;
    padding: 20px;
    border-bottom: solid 1px #dcdbda;
}

.top02 dl dd {
    width: calc(100% - 150px);
    padding: 20px;
    border-bottom: solid 1px #dcdbda;
}

.top02 dl dd span {
    color: red;
    margin-right: 10px;
}

.top05 {
    padding: 0 0 7%;
    width: 97%;
    max-width: 1130px;
    margin: 0 auto;
    display: flex;
    flex-flow: row wrap;
}

.top05>div {
    width: 100%;
    text-align: center;
}

.top05 ul {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    width: 50%;
}

.top05 ul:nth-of-type(1) {
    padding-right: 2%;
    border-right: dotted 2px #a1deec;
}

.top05 ul:last-child {
    padding-left: 2%;
}

.top05 ul li {
    width: 48%;
    display: flex;
    flex-flow: column;
}

.top05 ul li h2 {
    margin: 18px 0 15px;
    line-height: 1.3;
    font-size: 130%;
    display: flex;
    justify-content: center;
    text-align: center;
    align-items: center;
    min-height: 55px;
}

.top05 ul li p:nth-child(3) {
    word-break: break-all;
    margin-bottom: 20px;
    line-height: 1.5;
    font-size: 110%;
}

.top05 ul li p:nth-child(3) span {
    text-indent: -1em;
    margin-left: 1em;
    display: block;
}

.top05 ul li a {
    margin: auto 0 0;
    width: 100%;
    padding: 5px 0;
    border: solid 2px #a1deec;
}

.top03 {
    padding: 3% 0;
    background-color: #a1deec;
    margin: 0 auto;
}


.top03>div {
	text-align:center;
}

.top03 h2 {
	padding-bottom: 7px;
}

.top03 ul {
    width: 95%;
    max-width: 1040px;
    margin: auto;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}

.top03 ul li {
    width: 48%;
    max-width: 435px;
    margin-bottom: 4%;
}

.top03 ul li a {
    display: block;
    position: relative;
    padding: 5% calc(5% + 30px) 5% 5%;
    background-color: #fff;
}

.top03 ul li a:after {
    content: "〉";
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    font-weight: 900;
}

.top03 ul li a p:first-child {
    width: 100%;
    max-width: 300px;
    margin: auto;
    padding-bottom: 20%;
    position: relative;
}

.top03 ul li a p:first-child img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    max-width: 100%;
    max-height: 85%;
    margin: auto;
    z-index: 1;
    object-fit: contain;
}

.top03 ul li a p:last-child {
    font-weight: bold;
}

.top03 ul li:nth-child(2) a {
    padding: 5% calc(5% + 15px);
    pointer-events: none;
}

.top03 ul li:nth-child(2) a:after {
    content: none;
}

.top04 {
    padding: 7% 0;
    width: 97%;
    max-width: 1040px;
    margin: 0 auto;
    text-align: center;
}

.top04 ul {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
}

.top04 ul li {
	width:47%;
}

.top04 ul li a {
    border: solid 3px #dcdbda;
    display: block;
    padding: 3% 0;
}

.top04 ul li a img {
    width: 50%;
}


/*--------------------
	footer
----------------------*/

footer {
    width: 97%;
    max-width: 1130px;
    margin: auto auto 20px;
    text-align: center;
}

footer ul {
    margin-bottom: 10px;
    font-size: 80%;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
}

footer ul li {
    padding: 0 20px;
    border-right: solid 1px;
    line-height: 1;
    margin-bottom: 10px;
}

footer ul li:last-child {
    border: none;
}




/*--------------------
	second pages
----------------------*/

/* second mainimg */

.second_img {
	width:100%;
        max-width: 1350px;
        margin: 0 auto;
	position:relative;
	background:none;
}

.second_img img {
	width:100%;
        height: 180px;
}

.second_img h1 {
        font-family:"Source Serif Pro",sans-serif;
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	font-size:200%;
	letter-spacing:0.2em;
	line-height:0.8;
	border-bottom:solid 1px;
	font-weight:bold;
}



/*--------------------
	concept
----------------------*/

.concept>section {
	padding:4% 0;
}

.concept h2 {
	margin-bottom:3%;
}

/*--------------------
	company
----------------------*/

.company>section {
	padding:4% 0;
}

.company h2 {
	margin-bottom:3%;
}

.company dl {
	display:flex;
	flex-wrap:wrap;
	border-top:dashed 1px;
}

.company dl dt,
.company dl dd {
	padding-top:3%;
	padding-bottom:3%;
	border-bottom:dashed 1px;
}

.company dl dt {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: bold;
	width:24%;
	padding-right:1%;
}

.company dl dd {
	width:75%;
}

.company dl dt span,
.company dl dd span {
	display:inline-block;
}

/*--------------------
	project
----------------------*/

.project>section {
	padding:8% 0;
}

.project h2 {
	margin-bottom:5%;
}

/*--------------------
	privacy
----------------------*/

.privacy>section {
	padding:8% 0;
}

.privacy h2 {
	margin-bottom:5%;
}

/*--------------------
	law
----------------------*/

.law>section {
	padding:8% 0;
}

.law h2 {
	margin-bottom:5%;
}

/*--------------------
	news
----------------------*/


/*---list---*/

.news>section {
	padding:4% 0;
}

.news h2 {
	margin-bottom:3%;
}

.news dl {
	margin-bottom:7%;
	border-bottom:dashed 1px;
}

.news dl dt {
	padding:15px 0;
	border-top:dashed 1px;
	font-weight:bold;
}

.news dl dd p:nth-of-type(1) {
	font-size:90%;
	padding-bottom:15px;
	line-height:1.5;
}

.news dl dd p:nth-of-type(1) span {
	display:inline-block;
	padding:0 5px;
	background-color:#333;
	color:#fff;
}

.news dl dd p:nth-of-type(2) {
	padding-bottom:15px;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

.news dl dd p:nth-of-type(3) {
	padding:10px 0;
	border-top:dashed 1px;
	text-align:right;
}

.news dl dd p:nth-of-type(3) a {
	display:inline-block;
	margin-right:5px;
	padding:0 20px;
	font-weight:bold;
	border:solid 1px;
}

.news ul {
	margin-bottom:15%;
	text-align:center;
}

.news ul li {
	display:inline-block;
	margin:0 5px;
	color:#d6d6d6;
}

.news ul li.back {
	margin-right:10px;
	color:#333;
	font-weight:bold;
}

.news ul li.next {
	margin-left:10px;
	color:#333;
	font-weight:bold;
}

.news ul li.acv {
	color:#333;
}

.news>section>p {
	padding-top:20px;
	border-top:dashed 1px;
}


/*---detail---*/


.news02>section {
	padding:8% 0;
}

.news02 h2 {
	font-size:140%;
	border-bottom:dashed 1px;
	font-weight:bold;
}

.news02 section div {
	margin-bottom:10%;
}

.news02 section div p:first-of-type {
	padding:30px 0;
	font-size:90%;
}

.news02 section div img {
	width:100%;
	max-width:700px;
	margin-bottom:20px;
}

.news02>section>p {
	padding-top:30px;
	border-top:dashed 1px;
	font-size:90%;
}

.news02>section>p a {
	display:block;
	width:100px;
}

.news02>section>p a.back {
	float:left;
}

.news02>section>p a.next {
	float:right;
	text-align:right;
}

/*--------------------
	contact
----------------------*/

.contact>section {
	padding:8% 0;
}

.contact h2 {
	margin-bottom:40px;
}

.contact_info {
	margin-bottom:40px;
	text-align:center;
}

.contact table th span {
	color:#f00;
}


.contact table {
	width:100%;
}


.contact table th {
	padding:10px;
	font-weight:bold;
	vertical-align:top;
	text-align:left;
}

.contact table th {
	width:30%;
}


.contact table td {
	padding:10px;
	vertical-align:top;
	width:70%;
}


.contact table td p {
	margin-bottom:10px;
}

.contact table td ul li {
	display:inline-block;
	margin-right:15px;
	margin-bottom:10px;
}

.search_box input,
.search_box label {
    cursor: pointer;
}

.map_search {
    background-image: url(../img/clinic/map_back.svg);
    padding-bottom: 38.7%;
    height: 0;
    position: relative;
}

.map_search .area li {
    width: 5%;
    position: absolute;
    transform: translate(-50%, -102%);
}

.map_search .area li:first-child {
    display: none;
}

.map_search .area li:nth-child(2),
.map_search ul.map_A {
    left: 64%;
    top: 40%;
}

.map_search .area li:nth-child(3),
.map_search ul.map_B {
    left: 63%;
    top: 70%;
}

.map_search .area li:nth-child(4),
.map_search ul.map_C {
    left: 58%;
    top: 58%;
}

.map_search .area li:nth-child(5),
.map_search ul.map_D {
    left: 57%;
    top: 80%;
}

.map_search .area li:nth-child(6),
.map_search ul.map_E {
    left: 51%;
    top: 76%;
}

.map_search .area li:nth-child(7),
.map_search ul.map_F {
    left: 44%;
    top: 78%;
}

.map_search .area li:nth-child(8),
.map_search ul.map_G {
    left: 36%;
    top: 80%;
}

.map_search .area input {
    display: none;
}

.map_search .area label {
    display: block;
    position: relative;
}

.map_search .area label span {
    position: absolute;
    width: 3em;
    display: block;
    z-index: 10;
    color: #fff;
    text-align: center;
    top: 55%;
    left: 50%;
    transform: translateX(-50%);
    font-size: 17px;
    line-height: 1.2;
    text-shadow: 1px 1px 0 #df7798, -1px -1px 0 #df7798, -1px 1px 0 #df7798, 1px -1px 0 #df7798, 0px 1px 0 #df7798,  0-1px 0 #df7798, -1px 0 0 #df7798, 1px 0 0 #df7798;
}

.map_search ul[class*="map_"] {
    display: flex;
    justify-content: center;
    width: 250px;
    flex-flow: row wrap;
    background-color: #fff;
    box-shadow: 2px 2px 2px rgb(0 0 0 / 30%);
    position: absolute;
    transform: translate(-50%, 3%);
}

.map_search ul[class*="map_"] li {
    display: none;
}

.map_search ul[class*="map_"] li input {
    display: none;
}

.map_search ul[class*="map_"] li label {
    display: block;
    padding: 5px;
}

.map_search ul[class*="map_"] li input:checked + label,
.map_search ul[class*="map_"] li label:hover {
    background-color: #42bdd8;
    color: #fff;
    font-weight: bold;
}

.map_search:before {
    display: block;
    position: absolute;
    bottom: 3%;
    right: 14%;
    font-weight: bold;
}

.map_search:after {
    content: url(../img/clinic/map_arrow.svg);
    width: 1.5%;
    display: block;
    position: absolute;
    transform: translateX(-50%);
    left: 50%;
    bottom: -7%;
    display: none;
}

.btn_search02 {
	width: 90px;
    margin: 3% auto 2%;
    position: relative;
}

.btn_search02 input,
.btn_search02 a {
	display: inline-block;
    width: 100%;
    padding: 5px 35px 5px 10px;
    text-align: center;
    color: #fff;
    background-color: #42bdd7;
    font-size: 18px;
    font-weight: bold;
}

.btn_search02.clear {
    display: none;
}

.btn_search02.clear input {
    padding: 5px 10px;
}

.btn_search02:after {
    content: url(../img/clinic/glass.svg);
    position: absolute;
    width: 25px;
    right: 5px;
    top: 55%;
    transform: translateY(-50%);
    pointer-events: none;
}

.btn_search02.clear:after {
	content: none;
}

.search_text {
    text-align: center;
    margin-top: 20px;
}

.search_text p span {
    font-size: 22px;
    font-weight: bold;
}

.search_text p:nth-child(2) {
    color: #42BDD8;
    font-size: 26px;
    margin: 30px auto 10px;
}

.search_text p:nth-child(3) {
}

.search_text p:nth-child(3) a {
    background-color: #42BDD8;
    color: #fff;
    padding: 3px 15px;
    font-size: 120%;
}

.treatment_menu {
    margin: 45px 0;
}

.treatment_menu ul {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row wrap;
}

.treatment_menu ul li {
    margin: 0 10px;
}

.treatment_menu ul li:nth-child(-n+2) input {
    display: none;
}

.treatment_menu ul li:nth-child(-n+2) label {
    color: #fff;
    background-color: #008fc7;
    padding: 6px 20px;
    font-size: 120%;
    font-weight: bold;
    border-radius: 3px;
    box-shadow: inset 2px 2px 2px rgb(255 255 255 / 0.3), inset -2px -2px 2px rgb(0 0 0 / 0.1);
    display: block;
}

.treatment_menu ul li label:hover,
.treatment_menu ul li:nth-child(-n+2) input:checked + label {
    background-color: #008fc7;
    color: #fff;
    transition: all 0.2s ease;
    transform: scale(1.05);
}

.treatment_menu ul li:nth-child(2) label {
    background-color: #26baf4;
}

.treatment_menu ul li:nth-child(2) label:hover,
.treatment_menu ul li:nth-child(2) input:checked + label {
    background-color: #26baf4;
    color: #fff;
    transition: all 0.2s ease;
    transform: scale(1.05);
}

.treatment_menu ul li.btn_search02 input:hover {
    transition: all 0.2s ease;
    opacity: 0.8;
}

li.btn_search02 {
	margin: 0;
}

.clinic01 {
    padding-top: 2%;
}

.clinic_list {
    width: 95%;
    margin: auto;
    max-width: 900px;
}

.clinic_list li.clinic_detail {
	margin-bottom: 2%;
}

.clinic_list li.clinic_detail.display_hide {
	display: none;
}

li div.c_list_ttl {
	padding: 5px 20px;
    background-color: #42BDD8;
}

li div.c_list_ttl h2 {
	font-size: 20px;
    font-weight: bold;
    color: #fff;
}

li div.c_list_info,
.c_detail_info01 {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    padding: 5px;
    border: 1px solid #42BDD8;
    font-size: 120%;
}

li div.c_list_info>div:first-of-type,
.c_detail_info01>div:first-of-type {
	width: 20%;
    padding: 10px;
    padding-right: 15px;
    border-right: dotted 3px #42BDD8;
}

li div.c_list_info>div:first-of-type p,
.c_detail_info01>div:first-of-type p {
    width: 100%;
    position: relative;
    height: 0;
    padding-bottom: 85%;
}

li div.c_list_info>div:first-of-type img,
.c_detail_info01>div:first-of-type img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
    z-index: 1;
    object-fit: contain;
}

li div.c_list_info>div:last-of-type,
.c_detail_info01>div:last-of-type {
	width: 80%;
    display: flex;
    flex-flow: column;
    padding: 10px;
    padding-left: 15px;
}

li div.c_list_info>div:last-of-type ul:first-child,
.c_detail_info01>div:last-of-type ul:first-child {
    display: flex;
    flex-flow: row wrap;
}

li div.c_list_info>div:last-of-type ul:first-child li,
.c_detail_info01>div:last-of-type ul:first-child li {
    border: solid 1px #42BDD8;
    padding: 0px 10px;
    margin-right: 10px;
    font-size: 16px;
    border-radius: 3px;
}

li div.c_list_info>div:last-of-type ul:first-child li.口臭症,
.c_detail_info01>div:last-of-type ul:first-child li.口臭症 {
    border: solid 1px #008fc7;
    color: #fff;
    background-color: #008fc7;
}

li div.c_list_info>div:last-of-type ul:first-child li.オーラルデオドラント,
.c_detail_info01>div:last-of-type ul:first-child li.オーラルデオドラント {
    border: solid 1px #26baf4;
    color: #fff;
    background-color: #26baf4;
}

li div.c_list_info>div:last-of-type ul:last-child {
    margin-top: auto;
}

.c_detail_info01>div:last-of-type ul:last-child {
    font-size: 26px;
    font-weight: bold;
    margin-top: 10px;
}

.clinic02 {
    width: 95%;
    max-width: 900px;
    margin: 0 auto;
    padding: 35px 0 10%;
}

.c_detail_info02 table {
	width: 100%;
	font-size: 120%;
}

.c_detail_info02 table th {
	width: 180px;
	padding: 10px;
	background-color: #42bdd7;
	color: #fff;
	font-weight: bold;
	text-align: left;
	vertical-align: top;
	border-bottom: dotted 1px #fff;
}

.c_detail_info02 table td {
	width: calc(100% - 180px);
	padding: 10px;
	border-bottom: dotted 1px #42bdd7;
}

.c_detail_info02 table td a.link {
    color: #0042bc;
    text-decoration: underline;
}

.c_detail_info02 table td a.link:hover {
    opacity: 1;
    color: #7e00c0;
}

.c_detail_info02 table td img {
	width: 100%;
	max-width: 380px;
	margin-top: 10px;
}

.c_detail_info02 table tr:first-child td {
	border-top: dotted 1px #42bdd7;
}

.c_detail_info02 table tr:last-child th {
	border-bottom: none;
}

.c_detail_info02 table #map {
    width: 100%;
    height: 300px;
    position: relative;
    overflow: hidden;
    margin-top: 15px;
}

.what_ebac {
    margin-bottom: 7%;
}

.what_ebac .ebac_text {
    width: 95%;
    max-width: 1000px;
    margin: auto;
    padding: 70px;
    background:
      linear-gradient(45deg,  transparent 25px, #d9f2f7 25px),
      linear-gradient(225deg, transparent 25px, #d9f2f7 25px);
    background-position: bottom left, top right;
    background-size: 100% 50%;
    background-repeat: no-repeat;
    position: relative;
    font-size: 120%;
}

.what_ebac .ebac_text span {
    display: block;
    text-indent: -1em;
    margin-left: 1em;
}

.what_ebac .ebac_text:before {
    content: "";
    position: absolute;
    border-bottom: solid 2px #42BDD8;
    width: 60px;
    bottom: 18px;
    left: -11px;
    transform: rotate(45deg);
}

.what_ebac .ebac_text:after {
    content: "";
    position: absolute;
    border-bottom: solid 2px #42BDD8;
    width: 60px;
    top: 18px;
    right: -11px;
    transform: rotate(45deg);
}

.what_ebac .ebac_img {
    background-image: url(../img/ebac/ebac_img.png);
    padding-bottom: 30%;
    background-size: cover;
    background-position: center;
    margin-top: 5%;
}

.breath_care {
    padding: 35px 0 7%;
    background-image: url(../img/care/back1.png), url(../img/care/back2.png);
    background-size: 85%, 85%;
    background-position: right top 11%, left top 90%;
}

.breath_care .ttl {
    color: #42BDD8;
    margin-bottom: 10%;
    text-align: center;
    font-size: 30px;
}

.breath_care>p {
    width: 95%;
    max-width: 1000px;
    margin: 0 auto 25px;
}

.breath_care>p:nth-of-type(n + 2) {
    margin-top: 10%;
}

.breath_care>p.right {
    text-align: right;
}

.breath_care>p span {
    color: #42BDD8;
    border: solid 1px;
    padding: 5px 25px;
    background-color: #ffffff80;
}

.breath_care .care_text {
    width: 95%;
    max-width: 1000px;
    margin: auto;
}

.contact {
	margin-bottom: 7%;
}

.contact .ttl03 p {
    max-width: 700px;
}

.contact .comment {
    width: 95%;
    max-width: 700px;
    margin: auto;
}

.contact form dl {
    width: 95%;
    max-width: 700px;
    margin: 35px auto;
    display: flex;
    flex-flow: row wrap;
}

.contact form dl dt {
    width: 250px;
}

.contact form dl dt span {
    color: red;
}

.contact form dl dd {
    width: calc(100% - 250px);
}

.contact form dl dd>input,
.contact form dl dd>textarea {
    width: 100%;
    padding: 8px;
    border: solid 1px;
    outline: none;
    margin-bottom: 15px;
}

.contact form dl dd a {
    color: #42BDD8;
    text-decoration: underline;
    margin-bottom: 10px;
    display: inline-block;
}

.contact form dl.confirm {
}

.contact form dl.confirm dt {
    border: solid 1px;
    border-bottom: none;
    padding: 10px;
}

.contact form dl.confirm dt:nth-last-of-type(1) {
    border-bottom: solid 1px;
}

.contact form dl.confirm dd {
    border: solid 1px;
    border-bottom: none;
    border-left: none;
    padding: 10px;
}

.contact form dl.confirm dd:nth-last-of-type(1) {
    border-bottom: solid 1px;
}

.btn_area {
	text-align:center;
}

.btn_form {
    max-width: 300px;
    width: 95%;
    padding: 15px 0;
    font-weight: bold;
    color: #fff;
    background-color: #42B4CF;
    margin: 10px;
}

.contact .error {
    width: 95%;
    max-width: 700px;
}

.terms {
    width: 95%;
    max-width: 900px;
    margin: 50px auto 7%;
}

.news_list {
    width: 90%;
    max-width: 900px;
    margin: auto;
    padding: 4% 0;
}

.news_list ul {
    margin-bottom: 7%;
    font-size: 18px;
    border-top: solid 1px;
}

.news_list ul li {
    border-bottom: solid 1px;
    padding: 30px 20px;
    font-size: 120%;
}

.news_list ul li a {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
}

.news_list ul li a p:first-child {
    margin-right: 20px;
}

.news_list ul li a p span {
    color: red;
    margin-right: 10px;
}

.paging {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #42bdd7;
    flex-flow: row wrap;
}

.paging .arrow {
    margin: 0 50px;
}

.paging p {
    margin: 0 5px;
    border: solid 1px #42bdd7;
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #42bdd7;
    color: #fff;
}

.paging a p {
    background-color: #fff;
    color: #42bdd7;
}

.paging .total {
    width: 100%;
    text-align: center;
    margin: 5px 0 4%;
}

.mynews {
    width: 90%;
    max-width: 1080px;
    margin: 0 auto;
    padding: 4% 0;
}

.detail_contents_wrap .detail_content {
    margin-bottom: 25px;
    font-size: 120%;
}

.detail_contents_wrap .detail_content.download_btn {
    text-align: center;
}

.detail_contents_wrap .detail_content.download_btn a {
    
}

.detail_contents_wrap .title {
    font-size: 18px;
    font-weight: bold;
}

.detail_contents_wrap .midashi {
    text-align: center;
    background-color: #d9f2f7;
    color: #42bdd7;
    font-size: 18px;
    padding: 10px;
    border-radius: 50px;
}

.detail_contents_wrap .img_one {
    width: 100%;
    margin: 0 auto 25px;
    padding-bottom: 35%;
    position: relative;
}

.detail_contents_wrap .img_one img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
    z-index: 1;
    object-fit: contain;
}

.detail_contents_wrap .imgtext {
    display: flex;
    justify-content: space-between;
}

.detail_contents_wrap .imgtext li {
    width: 63%;
}

.detail_contents_wrap .imgtext li.imgtext_img {
    width: 35%;
}

.detail_contents_wrap .imgtext a {
    width: 100%;
    padding-bottom: 60%;
    position: relative;
    display: block;
}

.detail_contents_wrap .imgtext a img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
    z-index: 1;
    object-fit: contain;
}

.mynews .back {
    text-align: center;
}

.mynews .back a {
    background-color: #42bdd7;
    color: #fff;
    width: 100%;
    display: block;
    max-width: 300px;
    margin: 3% auto 0;
    padding: 10px;
    font-size: 120%;
}

.completion {
    width:90%;
    margin:10% auto;
}

.terms_text {
    font-size: 110%;
}

/*--------------------
	pagetop
----------------------*/
.pagetop p {
	text-align: right;
	-webkit-transition: all 1s;
	transition: all 1s;
	-webkit-transform: translate(0, 0);	
	transform: translate(0, 0);
	opacity: 1;
	position:fixed;
	right:40px;
	bottom:100px;
	width:75px;
	z-index:400;
}

.pagetop p.move {
	-webkit-transform: translate(100px, 0);
	transform: translate(100px, 0);
	opacity: 0;
}


