@charset "UTF-8";

section>.inner {
    padding: 2em;
    background: #fff;
    /*margin-bottom: 6em;*/
}

header .inner {
margin-bottom: 2em;
}

/* Main-img
-------------------------------------------- */
.mainimg {
    width: 100%;
    margin-bottom: 4em;
    position: relative;
}

.imgCopy {
    position: absolute;
    margin: 0;
    top: 50%;
	left: 50%;
    transform: translate(-50%, -50%);
	background: #3fd1d152;
    padding: 1em;
	width: inherit;
}

.imgCopy h2 {
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif/*'Noto Serif JP', */;
    font-weight: 500;
    font-size: 2rem;
    color: #fff;
    writing-mode: vertical-rl;
    font-feature-settings: initial;
	text-orientation: upright;
    /*background: #3fd1d152;*/
	background: #1fb6e782;
    padding: 1em 1.4em;
    /*width: 37vw;*/
	    margin-right: auto;
    margin-left: auto;
}

span.digs {
    text-combine-upright: all;
}

/* オープン告知&診療時間
--------------------------------------------- */
.main-info {
    display: -ms-flexbox;
    display: block;
    -ms-flex-direction: row-reverse;
    flex-direction: column;
    width: 90%;
    right: 0;
    z-index: 999;
    background: #fff;
    padding: 15px;
    -webkit-box-shadow: 0px 0px 10px rgba(34, 34, 34, 0.1);
    box-shadow: 0px 0px 10px rgba(34, 34, 34, 0.1);
    margin: 0 auto 2em;
}

.main-info-future {
    display: block;
    margin: 0;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.main-info-notice {
    position: relative;
    color: #fff;
    background-color: #21b7ef;
}

.main-info-notice {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    margin: 0 0 20px;
    padding: 5px 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
    border-radius: 30px;
}

.main-info-notice-label {
    display: inline-block;
    background-color: #00a0d2;
    color: #fff;
    font-weight: 500;
}

.main-info-notice-label {
    font-size: 1.3rem;
    margin-right: 10px;
    padding: 1px 10px;
    border-radius: 25px;
    line-height: 1.2;
}

.main-info-notice-txt {
    margin-top: 0;
    font-size: 1.4rem;
}

.main-info-notice-txt {
    line-height: 1.5;
    font-weight: 500;
}

.main-info-bnr {
    width: 100%;
    margin-bottom: 20px;
    text-align: center;
}

.main-info-timetable table {
    width: 100%;
}

.time-table01 {
    font-size: 1.4rem;
    line-height: 1.8;
}

.time-table01 thead th {
    background-color: #21b7ef;
	color: #fff;
    padding: 10px 3px;
    font-size: 1.4rem;
    font-weight: 500;
}

.time-table01 th, .time-table01 td {
    text-align: center;
    vertical-align: middle;
}

.time-table01 td {
	padding: 3px;
}

.time-table01_note {
    margin-top: 10px;
    font-size: 1.4rem;
}

.right {
    text-align: right !important;
}


/*News
--------------------------------------------- */
.news {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2em;
    position: relative;
}

/* greeting
--------------------------------------------- */
.greeting {
    position: relative;
    margin-bottom: 5em;
    margin-top: 6em;
}

.greeting::before {
    display: block;
    content: url(../img/top/crane-logo.svg);
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%,-50%);
    width: 40px;
}

.greeting h2 {
	font-weight: 500;
	padding-top: 1em;
}

p.leadTxt br {
    display: none;
}

/* information
--------------------------------------------- */
.Fbox {
    display: block;
}

.info {
    padding: 1em;
    background: url(../img/bgA.svg)no-repeat top left, url(../img/bgB.svg)no-repeat bottom right;
    background-size: 70px;
	margin-bottom: 5em;
}

.info h2 {
	font-weight: 500;
	letter-spacing: 0.3em;
	display: flex;
}

.info h2::after {
	content: "";
	width: 100px;
	height: 15px;
	border-bottom: solid 1px;
	border-right: solid 1px;
	transform: skew(45deg);
}

.info-L, .info-R {
	width: 100%;
}

.info ul {
	font-size: 2rem;
	line-height: 2.5;
}

.info li {
	margin-bottom: 0.5em;
	padding-bottom: 0.5em;
	padding-left: 1em;
    border-bottom: 1px solid #37bfd0;
}

.info li:first-of-type {
    background: url(../img/top/info_ico_train.png) no-repeat left center;
    background-size: 22px;
    margin-left: 0;
    padding-left: 1.5em;
}

.info li:nth-of-type(2) {
    background: url(../img/top/info_ico_car.png) no-repeat left center;
    background-size: 30px;
    margin-left: 0;
    line-height: 1.4;
    text-indent: -1em;
    padding-left: 2.7em;
}

.info li:last-of-type {
    background: url(../img/top/info_ico_kids.png) no-repeat left center;
    background-size: 32px;
    margin-left: 0;
    padding-left: 41px;
}

/*motto
--------------------------------------------- */
.motto {
    margin-bottom: 5em;
    padding-top: 3em;
}

.inner.bgc01.pt100 {
    padding-top: 50px!important;
}

.motto h2 {
	line-height: 1.7;
}

h2 span.ttl-Deco:first-child{
background: url(../img/bgC.svg)no-repeat left top / contain;
}

h2 span.ttl-Deco:nth-of-type(4){
background: url(../img/bgD.svg)no-repeat left top / contain;
}

h2 span.ttl-Deco:nth-of-type(7){
background: url(../img/bgE.svg)no-repeat left top / contain;
}

h2 span.ttl-Deco2 {
	position: relative;
}

h2 span.ttl-Deco2:before {
content: '';
position: absolute;
bottom: -7px;
display: inline-block;
width: 100%;
height: 4px;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
background-color: #3fd1d1;
border-radius: 3px;
}

.motto li {
	margin-bottom: 2em;
}

.motto li h3 {
	text-align: center;
}

/*pickup
--------------------------------------------- */
.pick_up {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 2em;
    /* margin-bottom: 5em; */
    position: relative;
}

section.triangle:after {
    content: "";
    position: absolute;
    top: 100%;
    border-top: 50px solid #fff;
}

.inner.bg {
    background: url(../img/top/bg_line1.svg)no-repeat top / contain, url(../img/top/bg_line2.svg)no-repeat bottom / contain;
	background-color: #fff;
}

.pick_up h2 span, .pick_up h3 span {
    display: block;
    font-weight: 300;
}

.pick_up h3 {
	text-align: center;
	line-height: 1.6;
	padding-bottom: 1em;
}

h3 span.ttl-Deco2 {
	display: inline-block;
	background: url(../img/bgB.svg)no-repeat left / 1.2em;
	padding-left: 2em;
	position: relative;
	font-weight: 500;
}

h3 span.ttl-Deco2:before {
content: '';
position: absolute;
bottom: -7px;
display: inline-block;
width: 100%;
height: 4px;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
background-color: #3fd1d1;
border-radius: 3px;
}

.pick_up ul {
padding: 1.5em 3em;
}

.pick_up li {
	font-size: 1.6rem;
    line-height: 1.8;
    background: url(../img/check.svg)no-repeat left / 1.2em;
    padding-left: 1.5em;
}

.pick_up .boxA p {
    text-align: center;
}

.pick_up .Fbox {
    margin-bottom: 3em;
}

.pick_up .Fbox:nth-of-type(2) {
    flex-direction: row-reverse;	
}

.pick_upA a, .pick_upB a {
    margin: 1em auto;
    display: block;
}

/*feature
--------------------------------------------- */
.feature {
	width: 100%;
    margin-top: 5em;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 5em;
	position: relative;
}

.feature-box {
    padding: 0;
}

.feature h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    background: url(../img/feature-title.svg)no-repeat center 0px/200px;
    padding-top: 3em;
    flex-direction: column;
}

.feature h2 span.lg {
    display: none;
}

.feature h2 span {
    font-size: 4rem;
    font-weight: bold;
    font-style: italic;
    letter-spacing: .2em;
	margin-bottom: 0.5em;
}

.feature h2 span.Deco {
	position: relative;
}

.feature h2 span.Deco:before {
    content: '';
    position: absolute;
    bottom: -2px;
    display: inline-block;
    width: 100%;
    height: 4px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #3fd1d1;
    border-radius: 3px;
}

.feature .Fbox {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}

.feature ul.Fbox li {
	width: 100%;
	background: #eee;
	padding: 0;
}

.feature_A, .feature_C, .feature_E {
    display: flex;
    flex-direction: column;
}

.feature_B, .feature_D, .feature_F {
	display: flex;
    flex-direction: column;
}

.feature h3 {
    font-size: 2rem;
    display: block;
}

.feature .arrow-L::before {
    content: "";
    width: 100%;
    height: 15px;
    border-bottom: solid 1px;
    border-left: solid 1px;
    transform: skew(135deg);
    display: flex;
}

.feature .arrow-R::after {
    content: "";
    width: 100%;
    height: 15px;
    border-bottom: solid 1px;
    border-right: solid 1px;
    transform: skew(45deg);
    display: flex;
}

.feature li .num {
    font-style: italic;
    font-size: 3rem;
	width: 50px;
    padding: 0 0 0 0.5em;
}

.feature_A .num{
	background: url(../img/bgC.svg)no-repeat left top / contain;

}

.feature_B .num{
	background: url(../img/bgD.svg)no-repeat left top / contain;
}

.feature_C .num{
	background: url(../img/bgE.svg)no-repeat left top / contain;
}

.feature_F .num{
	background: url(../img/bgC.svg)no-repeat left top / contain;

}

.feature_D .num{
	background: url(../img/bgD.svg)no-repeat left top / contain;
}

.feature_E .num{
	background: url(../img/bgE.svg)no-repeat left top / contain;
}

.fcL, .fcR {
    width: 100%;
}

.fcR {
	padding: 2.5em;
	position: relative;
}

.fcR p {
    margin-bottom: 10px;
}

a.more {
    display: block;
	position: inherit;
    padding: 1em 2em;
	bottom: 0em;
    left: 55%;
    width: 50%;
}

.more p {
    font-size: 1.2rem;
    display: flex;
    flex-direction: row;
}

.more p {
    flex-direction: column;
}

/* massage
--------------------------------------------- */
.message {
	margin-bottom: 5em;
}
.massage-L {
    width: 80%;
    margin: 0 auto 2em;
}

.massage-R {
    margin-bottom: 2em;
}

.DlineB::before {
  content: none;
}

/* service
--------------------------------------------- */
span.foreign {
    display: block;
    margin-bottom: 0.3em;
}

/*service-menu
--------------------------------------------- */
.service,
.serviceMenu {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 10em;
	margin-bottom: 5em;
	position: relative;
}

.service::before,
.serviceMenu::before {
    display: block;
    content: url(../img/top/crane-logo.svg);
    position: absolute;
    left: 50%;
    top: 7em;
    transform: translate(-50%,-50%);
    width: 40px;
}

.service,
.serviceMenu h2 {
	font-weight: 500;
}

.serviceMenu h3 {
    font-size: 2.5rem;
    font-weight: 500;
    background: linear-gradient(180deg, #3fd1d11f, #fff),url(../img/bgA.svg)no-repeat center , url(../img/bgB.svg)no-repeat center;
    background-size: contain;
    margin: 0 calc(50% - 50vw);
    padding: 1em 0;
    border-bottom: 1px solid #1fb6e7;
}

.serviceMenu h3 span {
	display: block;
	font-weight: 300;
}

.serviceMenu .Fbox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.serviceMenu li {
    width: calc(( 100% - 1em )/2);
    border-right: 1px solid #1fb6e7;
    border-bottom: 1px solid #1fb6e7;
    position: relative;
    margin-right: 1em;
    margin-bottom: 1em;
}

.serviceMenu li:nth-child(even) {
	margin-right: 0;
}

.serviceMenu li h4 {
    letter-spacing: 0em;
    writing-mode: vertical-rl;
    position: absolute;
    top: 0;
    right: 0;
    font-size: 1.3rem;
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif/*'Noto Serif JP', */;
    font-weight: 500;
    color: #fff;
    writing-mode: vertical-rl;
    font-feature-settings: initial;
    background: #1fb6e7;
    padding: 0.3em 0.5em;
}

/*counseling
--------------------------------------------- */
.counseling {
	margin-bottom: 5em;
}

.consult_txt strong {
	text-align: center;
    display: block;
}

.caption a.more {
    margin-left: auto;
    margin-right: auto;
    margin-top: 1em;
}

.caption p.arrow-R {
    text-align: center;
}

.caption a.more p.arrow-R::after {
    width: 100%;
}

/*info2023
----------------------------------------------*/
/*info2023*/
.info-2023 {
    width: 90%;
    z-index: 9999;
    background: #ffffff80;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 2em;
    border: 1px solid #ccc;
    margin-top: 10em;
}

.info-2023 p.lead {
    padding: 2em 2em 0.5em;
    text-align: center;
    font-size: 1.7rem;
}

.info-2023 .txt {
    font-size: 1.4rem;
    color: #404040;
    padding: 0 2em 2em;
}

.info-2023 dl {
	width: 90%;
	margin-top: 1em;
    margin-right: auto;
    margin-left: auto;
	border-bottom: 1px dashed #a1a1a1;
}

.info-2023 dt {
	    font-size: 1.6rem;
		display: inline-block;
}

.info-2023 dd {
	    font-size: 1.3rem;
		margin-bottom: 1em;
		display: inline-block;
}




