@charset "utf-8";
/*共通設定*/
.fv-txt-in img {
    width: 85px;
}

.fv-txt-in h1 {
    font-size: 50px;
}

h2 {
    margin-bottom: 24px;
}

.sp-img {
    display: none;
}

.pc-img {
    display: block;
}
/*終わり*/  

/*<section class="greeting">*/
.greeting {
    margin: 100px 0;
}

.greeting-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
}

.greeting-flex .flex-l {
    width: 32%;
    text-align: center;
}

.greeting-flex .flex-l span {
    font-weight: 400;
    font-size: 16px;
}

.greeting-flex .flex-r {
    width: 60%;
}

.greeting-txt .txt-01 {
	color: #14b88d;
    margin-bottom: 16px;
    font-size: 24px;
}

.greeting-txt p {
    margin-bottom: 10px;
    font-size: 14px;
}
/*終わり*/  

/*<section class="green-back">*/
.green-back {
    background-color: #E7F5F2;
    padding: 40px 5vw;
    text-align: center;
    margin-bottom: 100px;
}

.green-back h2 {
    margin-bottom: 16px;
    font-size: 20px;
    color: #14b88d;
    position: relative;
    display: inline-block;
    padding: 0 100px;
}
 
.green-back h2:before,
.green-back h2:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 80px;
    height: 1px;
    background-color: #14b88d;
}
 
.green-back h2:before {
    left: 0;
}
 
.green-back h2:after {
    right: 0;
}

.green-back p {
    font-size: 24px;
    font-family: 'BIZ UDMincho', serif;
}

.philosophy {
    margin-bottom: 56px;
}
/*終わり*/  

/*<section class="hos-info">*/
.hos-info {
    margin-bottom: 100px;
}

.hos-info-img {
    width: 100%;
}

.hos-info-img img {
    width: 100%;
    object-fit: cover;
}
/*終わり*/  

/*<section class="history">*/
.history {
    margin-bottom: 24px;
}

.flow {
	padding: 0 5vw;
}

.flow > li:before, ol.stepflow > li:before {
	background-color:#cccccc;
}

.flow li {
    position: relative;
    padding: 0 0 1.5em 1.8em;
}

.flow>li:before {
	content: "";
	width: 1px;
	background: #14b88d;
	display: block;
	position: absolute;
	top: 28px;
	bottom: 0;
	left: 5px;
}

.flow-white {
	content: '';
	display: inline-block;
	position: absolute;
	top: 5px;
	left: 0;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	border: solid 3px #14b88d;
}

.flow-black {
	content: '';
	display: inline-block;
	position: absolute;
	top: 5px;
	left: 0;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	border: solid 3px #333;
	background-color: #333;
}

.flow_label {
	padding: 3px 0px 8px 0px;
	color: #14b88d;
	font-size: .8em;
	font-weight: bold;
}

.flow_title {
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom:15px;
}

.flow_content {
	font-size: 1.0em;
	line-height: 1.5;
	padding: 0 0 1.5em;
	border-bottom: dashed 1px #cccccc;
}

.flow_content span {
    font-weight: 600;
    margin-bottom: 8px;
    display: inline-block;
}

.nav-open03 {
	padding: 15px;
	color: #fff;
	font-size: 20px;
    background-color: #14b88d;
    color: #fff;
    border-radius: 8px;
    border: solid 2px #14b88d;
    padding: 8px;
    text-align: center;
    position: relative;
    margin-bottom: 0;
    font-weight: 400;
}

.nav-open03:hover {
    cursor: pointer;
}

.nav-open03::before{/* 閉じている時 */
	content: "＋";
	position: absolute;
	right: 16px;
}

.nav-open03.active::before{/* 開いている時 */
	content: "－";
}

.nav-open03.active {
    border-radius: 8px 8px 0 0;
}

.flow-txt {
    display: none;
    padding: 40px 32px;
    border: solid 2px #14b88d;
    border-radius: 0 0 8px 8px;
}

.flow-txt span {
    margin-right: 8px;
}

/*終わり*/  

/*<section class="standard">*/
.standard {
    margin-bottom: 24px;
}

.nav-open{
	padding: 15px;
	color: #fff;
	font-size: 20px;
    background-color: #14b88d;
    color: #fff;
    border-radius: 8px;
    border: solid 2px #14b88d;
    padding: 8px;
    text-align: center;
    position: relative;
    margin-bottom: 0;
    font-weight: 400;
}

.nav-open:hover {
    cursor: pointer;
}

.nav-open::before{/* 閉じている時 */
	content: "＋";
	position: absolute;
	right: 16px;
}

.nav-open.active::before{/* 開いている時 */
	content: "－";
}

.nav-open.active {
    border-radius: 8px 8px 0 0;
}

.standard-txt {
    display: none;
    padding: 40px 32px;
    border: solid 2px #14b88d;
    border-radius: 0 0 8px 8px;
}

.standard-txt span {
    margin-right: 8px;
}
/*終わり*/  

/*<section class="facility">*/
.facility {
    margin-bottom: 100px;
}

.nav-open02 {
	padding: 15px;
	color: #fff;
	font-size: 20px;
    background-color: #14b88d;
    color: #fff;
    border-radius: 8px;
    border: solid 2px #14b88d;
    padding: 8px;
    text-align: center;
    position: relative;
    margin-bottom: 0;
    font-weight: 400;
}

.nav-open02:hover {
    cursor: pointer;
}

.nav-open02::before{/* 閉じている時 */
	content: "＋";
	position: absolute;
	right: 16px;
}

.nav-open02.active::before{/* 開いている時 */
	content: "－";
}

.nav-open02.active {
    border-radius: 8px 8px 0 0;
}

.facility-txt {
    display: none;
    padding: 40px 32px;
    border: solid 2px #14b88d;
    border-radius: 0 0 8px 8px;
}

.facility-txt span {
    margin-right: 8px;
}
/*終わり*/  

/*<section class="protect">*/
.protect {
    margin-bottom: 80px;
}

.protect-txt h3 {
    margin-bottom: 16px;
    font-size: 16px;
}

.protect-txt p {
    margin-bottom: 16px;
}

.protect-txt h4 {
    font-weight: 400;
}

.protect-txt .txt-flex {
    margin-left: 10px;
    display: flex;
}
/*終わり*/  

/*<section class="safety">*/
.safety {
    margin-bottom: 100px;
}

.safety-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: 24px;
}

.safety-flex a {
    width: 48%;
    text-align: center;
    background-color: #fff;
    color: #14b88d;
    border-radius: 8px;
    border: solid 2px #14b88d;
    padding: 8px;
}

.safety-flex a:hover {
    color: #fff;
    background-color: #14b88d;
}
/*終わり*/  

/*<section class="efforts">*/
.efforts {
    margin-bottom: 100px;
}

.efforts-in a {
    display: block;
    width: 48%;
    text-align: center;
    background-color: #fff;
    color: #14b88d;
    border-radius: 8px;
    border: solid 2px #14b88d;
    padding: 8px;
}

.efforts-in a:hover {
    color: #fff;
    background-color: #14b88d;
}
/*終わり*/  

/*タブレット*/
@media (max-width: 1024px) {
/*共通設定*/
/*終わり*/ 

/*<section class="greeting">*/
    .greeting-flex {
        display: block;
    }

    .greeting-flex .flex-l {
        width: 50%;
        margin-bottom: 40px;
    }

    .greeting-flex .flex-l span {
        font-size: 18px;
    }

    .greeting-flex .flex-r {
        width: 80%;
    }

    .greeting-txt p {
        font-size: 16px;
    }
/*終わり*/  

/*<section class="standard">*/
    .standard-txt p {
        display: flex;
    }
/*終わり*/  

/*<section class="facility">*/
    .facility-txt p {
        display: flex;
    }
/*終わり*/  

}

/*スマホ*/
@media (max-width: 599px) {
/*共通設定*/
    .fv-txt-in img {
        width: 70px;
    }

    .fv-txt-in h1 {
        font-size: 40px;
    }

    .pc-img {
        display: none;
    }

    .sp-img {
        display: block;
    }
/*終わり*/ 

/*<section class="greeting">*/
    .greeting-flex .flex-l {
        width: 100%;
    }

    .greeting-flex .flex-l span {
        font-size: 18px;
    }

    .greeting-flex .flex-r {
        width: 100%;
    }
/*終わり*/  

/*<section class="green-back">*/
    .green-back p {
        font-size: 16px;
        font-family: 'BIZ UDMincho', serif;
    }
/*終わり*/  

/* <section class="history">*/
    .flow {
        padding: 24px 16px;
    }
/*終わり*/

/*<section class="standard">*/
    .nav-open{
        font-size: 18px;
    }

    .standard-txt {
        padding: 24px 8px;
    }
/*終わり*/  

/*<section class="facility">*/
    .nav-open02 {
        font-size: 18px;
    }

    .facility-txt {
        padding: 24px 8px;
    }
/*終わり*/  

/*<section class="safety">*/
    .safety-flex {
        display: block;
    }

    .safety-flex a {
        width: 100%;
        display: block;
        margin-bottom: 16px;
    }
/*終わり*/  

/*<section class="efforts">*/
    .efforts-in a {
        display: block;
        width: 100%;
    }
/*終わり*/  

}

