@charset "utf-8";

/*----------------------------------------------------*/ 
/* position
-----------------------------------------------------*/ 

.posC {	text-align:center;}
.posC2 {	text-align:center;}
.posR {	text-align:right;}
.floR { float:right;}
.floL { float:left;}
.floRp { float:right; padding:0 0 10px 10px;}
.floLp { float:left; padding:0 10px 10px 0; overflow:hidden;}
.ovh { overflow:hidden}

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

.floR { float:none;}
.floL { float:none;}
.floRp { float:none; padding:10px 10px; text-align:center;}
.floLp { float:none; padding:10px 10px; text-align:center;}

.floRp img,
.floLp img { max-width: 100%; height:auto;}

}

@media only screen and (max-width: 480px) {
    
    .posC2 {
        text-align: left;
    }
    
}

.mb0 { margin-bottom:0 !important;}
.mb01em { margin-bottom:1em !important;}
.mb02em { margin-bottom:2em !important;}
.mb03em { margin-bottom:3em !important;}
.mb04em { margin-bottom:4em !important;}
.mb05em { margin-bottom:5em !important;}
.mb06em { margin-bottom:6em !important;}
.mb07em { margin-bottom:7em !important;}
.mb08em { margin-bottom:8em !important;}
.mb09em { margin-bottom:9em !important;}
.mb10em { margin-bottom:10em !important;}
.mb12em { margin-bottom:12em !important;}
.mb14em { margin-bottom:14em !important;}
.mb16em { margin-bottom:16em !important;}
.mb18em { margin-bottom:18em !important;}

.txt10 { font-size:1rem !important; }
.txt11 { font-size:1.1rem !important; }
.txt12 { font-size:1.2rem !important; }
.txt13 { font-size:1.3rem !important; }
.txt14 { font-size:1.4rem !important; }
.txt15 { font-size:1.5rem !important; }
.txt16 { font-size:1.6rem !important; }
.txt17 { font-size:1.7rem !important; }
.txt18 { font-size:1.8rem !important; }
.txt19 { font-size:1.9rem !important; }
.txt20 { font-size:2.0rem !important; }
.txt21 { font-size:2.1rem !important; }
.txt22 { font-size:2.2rem !important; }
.txt23 { font-size:2.3rem !important; }
.txt24 { font-size:2.4rem !important; }


/*----------------------------------------------------*/ 
/* heading
-----------------------------------------------------*/

h1,h2,h3,h4,h5 {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 600;
}

/* #header01 */

#header01 {
    position: relative;
    width: 1000px;
    margin: 0 auto 80px auto;
}

#header01 .h1_pc {
    display: block;
}

#header01 .h1_sp {
    display: none;
}

#header01 h1 {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #fff;
    left: 50px;
    font-family: 'Montserrat', sans-serif;
    font-size: 3rem;
    line-height: 0.8;
    letter-spacing: 0.3rem;
    font-weight: 700;
}

#header01 h1 span {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.3rem;
    font-weight: 500;
}

/* htype01 */

.htype01 {
    box-sizing: border-box;
	display: block;
	width: 100%;
	margin-bottom: 1.5em;
	padding: 0 0 0.5em 0;
	font-size: 2.2rem;
	line-height: 1.3;
    border-bottom: 2px solid #80e718
}

.htype01 span {
	font-size:1.6rem;
	font-weight:normal;
	letter-spacing:0.1em;
}

.htype02 {
	box-sizing: border-box;
	width:100%;
	margin-bottom: 1.3em;
	padding: 0;
	font-size: 2.2rem;
	line-height: 1.3;
}

.htype03 {
	margin-bottom: 1.2rem;
	font-size: 1.8rem;
    line-height: 1.3;
}

.htype04 {
	margin-bottom: 1em;
	font-size: 1.7rem;
    line-height: 1.3;
}

.htype05 {
	margin-bottom: 0.5em;
	font-size:1.6rem;
    line-height: 1.3;
}

/* 1080px（コンテンツ幅） */
@media only screen and (max-width: 1080px) {
    
    #header01 {
        position: relative;
        width: 100%;
        margin-bottom: 50px;
    }
    
    #header01 h1 {
        left: 5vw;
        font-size: 2.8rem;
        line-height: 0.7;
    }
    
}

/* 834px以下（タブレット縦・スマホ横） */
@media only screen and (max-width : 834px ) {
    
    #header01 {
        margin-top: 80px;
    }
    
    #header01 .h1_pc {
        display: none;
    }

    #header01 .h1_sp {
        display: block;
    }
    
    #header01 h1 {
        left: 6vw;
        font-size: 2.8rem;
        line-height: 0.8;
    }

}

/* 480px（スマホ縦） */
@media only screen and (max-width: 480px) {
    
    #header01 {
        margin-top: 70px;
        margin-bottom: 40px;
    }
    
    #header01 .h1_sp {
        margin-left: 0;
    }
    
    #header01 h1 {
        font-size: 2.3rem;
        left: 7vw;
    }
    
    #header01 h1 span {
        font-size: 1rem;
        letter-spacing: 0.1em;
    }
    
    .htype01 {
        margin-bottom: 1.3em;
        padding: 0 0 0.7em 0;
        font-size: 2.2rem;
    }
    
    .htype02 {
        font-size: 2rem;
    }

    .htype03 {
        font-size: 1.7rem;
    }

    .htype04 {
        font-size: 1.6rem;
    }

    .htype05 {
        margin-bottom: 0.5em;
        font-size:1.5rem;
        line-height: 1.3;
    }

}

/*----------------------------------------------------*/ 
/* contents
-----------------------------------------------------*/ 

/* #main p {
    text-align: justify;
    text-justify: inter-word;
} */

.box_gray {
    background-color: #f7f8fa;
    padding: 1.5em 2.5em;
}

strong {
	background: linear-gradient(transparent 70%, #fff554 0%);
}

strong.red {
    color: #e80c3b;
    background: none;
}

strong.normal {
    background: none;
}

.notes {
    font-size: 1.3rem;
    margin-left: 1.3em;
    text-indent: -1.3em;
    line-height: 1.5;
}

.notes span {
    margin-right: 0.3em;
}

.red {
    color: #e80c3b;
}

/* 1080px（コンテンツ幅） */
@media only screen and (max-width: 1080px) {

}

/* 768px以下（タブレット縦・スマホ横） */
@media only screen and (max-width : 768px ) {
    
    .box_gray {
        padding: 1.5em 2em;
    }

}

/* 480px（スマホ縦） */
@media only screen and (max-width: 480px) {

}


/*----------------------------------------------------*/ 
/* button
-----------------------------------------------------*/ 

.btn01 {
    display: table;
    margin: 0 auto;
}

.btn01 a {
    display: inline-block;
    padding: 0.2em 0;
    border-bottom: 1px solid #80e718;
    font-size: 1.3rem;
    font-weight: 500;
    text-decoration: none;
}

.btn01 a:hover {
    border-bottom: 1px solid transparent;
}

.btn02 {
    display: table;
    margin: 0 auto;
}

.btn02 a {
    position: relative;
    display: inline-block;
    padding: 1em 2.5em 1em 3.5em;
    border: 1px solid #ccc;
    text-decoration: none;
    font-weight: 500;
}

.btn02 a:hover {
    color: inherit;
    opacity: 0.7;
}

.btn02 a::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 2.2em;
    top: 50%;
    margin-top: -4px;
    border-style: solid;
    border-width: 5px 0 5px 8px;
    border-color: transparent transparent transparent #72cf15;
}


/*----------------------------------------------------*/ 
/* list
-----------------------------------------------------*/ 

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

.list01.col3 li {
    width: 30%;
}

.list01.col4 li {
    width: 22.4%;
}

.list01 li a.link_cover {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

.list01 li a.link_cover:hover {
    color: inherit;
    opacity: 0.7;
}

.list01 li .img_box {
    margin-bottom: 1em;
}

.list01.col4 li h5 {
    font-size: 1.5rem;
    line-height: 1.3;
    margin-bottom: 0.3em;
}

/* 1080px（コンテンツ幅） */
@media only screen and (max-width: 1080px) {

}

/* 768px以下（タブレット縦・スマホ横） */
@media only screen and (max-width : 768px ) {
    
    .list01.col4 {
        width: 100%;
        flex-wrap: wrap;
        margin-left: auto;
        margin-right: auto;
    }
    
    .list01.col3 li,
    .list01.col4 li {
        width: 47%;
        margin-bottom: 2em;
    }

}

/* 480px（スマホ縦） */
@media only screen and (max-width: 480px) {
    
    
    .list01.col3,
    .list01.col4 {
        display: block;
        width: 80%;
        min-width: 240px;
        margin-left: auto;
        margin-right: auto;
    }
    
    .list01.col3 li,
    .list01.col4 li {
        width: 100%;
    }

}