@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/* リセットここから----------------------------------------------------------------- */

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

html, body {
	margin: 0;
	padding: 0;
    line-height: normal;
}

img {
	border: 0;
}

img, input {
	vertical-align: middle;
}

h1, h2, h3, h4, h5, h6, address {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-weight: normal;
	font-size: 100%;
}

div, blockquote, p, pre, ul, ol, li, dl, dt, dd {
	margin: 0;
	padding: 0;
	border: 0;
}

li,ol{
	list-style:none;
}

table, caption, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-weight: normal;
	font-size: 100%;
	border-collapse:collapse;
}

hr {
	margin: 0;
	padding: 0;
	font-size: 100%;
}

iframe {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
}

form, fieldset, input, button, select, optgroup, option, textarea, label, legend {
	margin: 0;
	padding: 0;
	font-size: 100%;
}

span, em, strong, dfn, code, samp, kbd, var, cite, abbr, acronym, q, br, ins, del, a, img, object {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-weight: inherit;
	font-size: 100%;
}

a {
	text-decoration: none;
}

button{
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

/* リセットここまで----------------------------------------------------------------- */










/* PCとSP切り替えここから----------------------------------------------------------------- */

.pc {
	display: block !important;
}

.sp {
	display: none !important;
}

@media screen and (max-width:767px) {

.pc {
	display: none !important;
}

.sp {
	display: block !important;
}

} 

/* PCとSP切り替えここまで----------------------------------------------------------------- */










/* 共通ここから----------------------------------------------------------------- */

section * {
	font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
}

section {
	padding: 5% 0;
}

section small {
	font-size: 14px;
}

section img {
	width: 100%;
}

.wrap {
	max-width: 1500px;
	margin: auto;
	padding: 0 5%;
}

/* 共通ここまで----------------------------------------------------------------- */


@media screen and (max-width:767px) {

/* 共通ここから----------------------------------------------------------------- */

section * {
    font-size: 14px;
}

section {
	padding: 10% 0;
}

section small {
	font-size: 12px;
}

/* 共通ここまで----------------------------------------------------------------- */

}











/*------------------
共通
--------------------*/

#container {
    padding-top: 0 !important;
}

section .content_wrap {
	position: relative;
	background-color: #fff;
	border: solid 5px #00618C;
	border-radius: 20px;
	padding: 5%;
}

section .content_wrap .deco_01 {
	position: absolute;
	top: -5px;
	right: -5px;
	width: 15%;
}

section .content_wrap .h2_wrap {
	display: flex;
	align-items: center;
	gap: 15px;
}

section .content_wrap .h2_wrap img {
	width: 60px;
}

section .content_wrap .h2_wrap h2 {
	display: inline-block;
	font-size: 32px;
	font-weight: 900;
	color: #00618C;
	border-bottom: double 7px #B93737;
	line-height: 1.4;
	padding: 3px 0;
}

.separator {
	border-top: solid 20px #009EB8;
	border-bottom: solid 20px #E1E3D9;
}

.f_btn {
	position: fixed;
	top: 20%;
	right: 0;
	width: 150px;
}

.top_back_button {
	position: fixed;
	bottom: 5%;
	right: 3%;
	width: 70px;
}

.f_btn,
.top_back_button {
	transition: .3s;
	z-index: 100;
}

.f_btn:hover,
.top_back_button:hover {
	opacity: .7;
}

.separator img,
.f_btn img,
.top_back_button img {
	width: 100%;
}








/*------------------
mv
--------------------*/

#mv {
	padding: 0;
}





/*------------------
what
--------------------*/

#what {
	background-image: url(../img/pc/bg_01.png);
	background-size: contain;
}

#what .text_wrap {
	margin: 50px 0;
	line-height: 1.8;
	text-align: center;
}

#what .text_wrap p {
	font-size: 20px;
}

#what .text_wrap p span {
	font-size: 110%;
	font-weight: 600;
	padding: 5px 0;
	border-bottom: double 7px #B93737;
}

#what .text_wrap img {
	width: 90%;
	max-width: 750px;
	margin: 40px auto;
}








/*------------------
point
--------------------*/

#point {
	background-image: url(../img/pc/bg_02.png);
	background-size: contain;
}

#point .img_wrap img {
	margin-top: 50px;
}

#point .button_wrap {
	margin-top: 70px;
}

#point .button_wrap a {
	display: block;
	margin: auto;
	max-width: 480px;
	transition: .3s;
}

#point .button_wrap a:hover {
	opacity: .7;
}





@media screen and (max-width:767px) {



/*------------------
共通
--------------------*/

section .content_wrap {
    border: solid 3px #00618C;
    padding: 6% 3%;
}

section .content_wrap .deco_01 {
    top: -3px;
    right: -3px;
    width: 22%;
}

section .content_wrap .h2_wrap {
    gap: 7px;
}

section .content_wrap .h2_wrap img {
    width: 35px;
}

section .content_wrap .h2_wrap h2 {
    font-size: 18px;
	border-bottom: double 5px #B93737;
}

.separator {
    border-top: solid 10px #009EB8;
    border-bottom: solid 10px #E1E3D9;
}

.top_back_button {
    bottom: 3%;
    width: 50px;
}

.f_btn {
    width: 90px;
}






/*------------------
what
--------------------*/

#what .text_wrap {
    margin: 15px 0;
    line-height: 1.7;
}

#what .text_wrap p {
    font-size: 14px;
}

#what .text_wrap p span {
	font-size: 100%;
	line-height: 2;
    padding: 0;
    border-bottom: double 4px #B93737;
}

#what .text_wrap img {
    width: 100%;
    margin: 25px auto;
}

#what .big_img.sp {
    width: 100%;
    position: relative;
    left: -2%;
}








/*------------------
point
--------------------*/

#point .img_wrap img {
    margin-top: 30px;
}

#point .button_wrap {
    margin-top: 40px;
}

}








































/* =========================
HEADER
========================= */

header{
    width:100%;
    background:#fff;
    box-shadow:0 0 8px rgba(0,0,0,.15);
}

header .hArea{
    max-width: 1280px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:10px 16px;
}
header .header_logo {
    width: 252px;
    flex-shrink: 0;
}
header .header_logo img{
    width:100%;
}

header .header_text h1{
    font-size:11px;
    font-weight:400;
    line-height:1.5;
}


/* =========================
PANKUZU
========================= */

#pagePath{
    background:#f4f4f4;
    padding:10px 16px;
    font-size:11px;
    overflow-x:auto;
    white-space:nowrap;
}

#pagePath ul{
    display:flex;
    align-items:center;
    gap:6px;
    max-width: 1280px;
}





/* =========================
CTA
========================= */

#cta{
    position:relative;
    z-index:998;
}

/* floating.css 優先 */

.p-top-side-menu{
    position:fixed;
    left:0;
    top:50%;
    transform:translateY(-50%);
    z-index:998;
}

.p-top-side-menu__item a{
    transition:opacity .3s;
}

.p-top-side-menu__item a:hover{
    opacity:.85;
}


/* =========================
FOOTER
========================= */

footer{
background: #fff;
    text-align:center;
    padding:40px 20px;
}

footer img{
    width:140px;
}

footer .p-top-footer__copyright{
    color:#7c7c7c;
    font-size:11px;
    line-height:1.7;
    margin-top:20px;
    text-align: center;

}


.p-top-side-menu a {
    align-items: center;
    background: right center / contain no-repeat;
    background-color: #007386;
    box-sizing: border-box;
    display: flex;
    opacity: 1;
    transition: all 0.4s ease-in-out;
}


/* =========================
SP
========================= */

@media screen and (max-width:768px){

    body{
        font-size:14px;
        padding-bottom:64px;
    }

    header .hArea{
        gap:10px;
        padding:10px 12px;
    }

    header .header_logo{
        width:140px;
    }

    header .header_text h1{
        font-size:10px;
    }


footer {
    padding: 5% 0 0;
}


    /* =========================
    SP CTA
    ========================= */

    .p-top-side-menu{
        left:0;
        right:0;

        top:auto;
        bottom:0;

        width:100%;

        transform:none;

        display:flex;
    }

    .p-top-side-menu__item{
        flex:1;
    }

    .p-top-side-menu__item a{
        width:100%;
        height:64px;

        background-size:contain !important;
        background-position:center !important;
        background-repeat:no-repeat !important;

        border-right:1px solid rgba(255,255,255,.15);
    }



}




/* =========================
サイトTOPへ戻るボタン
========================= */


.top_link{
padding: 3% 0;
    text-align: center;
    background: #f4f4f4;
    border-top: solid 20px #e0e2d7;
}

.top_link a{
    background: #017285;
    color: #fff;
    padding: 1.5% 0;
    border-radius: 20px;
    max-width: 480px;
    position: relative;
    display: block;
    margin: 0 auto;
}

.top_link a:after {
content: "▼";
    width: 20px;
    height: 22px;
    display: block;
    background: #fff;
    position: absolute;
    right: 15px;
    top: 30px;
    color: #017285;
    border-radius: 100px;
    transform: rotateZ(-95deg);
    padding: 2px 3px 2px 3px;
    font-size: 14px;
}

.top_link a:visited {
    color: #fff;
}

@media screen and (max-width:768px){
	
.top_link a{
    max-width: 80%;
    line-height: 1.8;
}


.top_link a:after {
    right: 20px;
    top: 20px;
}





}




/* =========================
表示切り分け
========================= */



@media screen and (min-width: 767px){
.dsp{display:none;}
}

@media screen and (max-width: 767px){
.dpc{display:none;}
}

