
/**************************************

main_visual

**************************************/
main{
    position: relative;
}
.main_visual{
    width: 100%;
    max-width: 200rem;
    max-height: 120rem;
    height: calc(90vh);
    background: #e4e4e4;
    margin: 9.5rem auto 0 auto;
    background: url("../images/main_visual.png")no-repeat;
    background-size: cover;
    position: relative;
}
/*
body.admin-bar .main_visual,
body.customize-support .main_visual {
    margin-top: calc(9.5rem - 32px);/* 管理バーの高さ32px引く 
}
*/
.main_line{
    width: 100%;
    max-width: 200rem;
    margin: 0 auto;
    background: url("../images/main_visual_line.svg")no-repeat;
    background-size: cover;
    height: clamp(27vh, 30vw, 43vh);
    bottom: 0;
    z-index: 1;
    position: absolute;
}
.main_visual .title_wrapper{
    position: absolute;
    top: 14%;
    left: 6%;
}
.main_visual h2{
    font-size: clamp(3rem, 5vw, 6.4rem);
    color: #fff;
    margin-bottom: 2rem;
    text-shadow: #888888 1px 1px;
}
.main_visual h2 span{
    font-size: clamp(2rem, 3.4vw, 4.3rem);
    color: #fff;
}
.main_visual p{
    font-size: clamp(1.6rem, 2vw, 2.4rem);
    color: #fff;
    text-shadow: #888888 1px 1px;
}
@media only screen and (min-width: 2000px) {
.main_line{
    height: 45vh;
 }
.main_visual{
    background-position: center -35vh;
}
}
@media only screen and (max-width: 1999px) {
.main_visual{
    background-position: center -25vh;
}
}
@media only screen and (max-width: 1500px) {
.main_visual{
    background-position: center -18vh;
}
}
@media only screen and (max-width: 1000px) {
.main_visual{
    background-position: center -5vh;
}
}
@media only screen and (max-width: 840px) {
.main_visual{
    margin: 4.8rem auto 0 auto;
}
.main_line{
    bottom: 0;
}
}
@media only screen and (max-width: 430px) {
.main_visual .title_wrapper{
    position: unset;
    left: unset;
    padding: 24% 2rem 0;
}
.main_line{
    background: url("../images/main_visual_line_sp.svg")no-repeat;
    background-size: cover;
    bottom: 4rem;
}
.news_wrapper{
    background: #fff;
}
}
/**************************************

three_menu

**************************************/
.three_menu_wrapper {
    display: flex;
    flex-direction: row;
	max-width: var(--contents-max-width);
    margin: 13rem auto 7rem auto;
    padding: 0 2rem;
    justify-content: space-between;
    flex-wrap: wrap;
}
.three_menu_wrapper .inner {
    width: 31%;
}
.three_menu_wrapper .inner a{
	display: flex;
	flex-direction: column;
	border-radius: 8px;
    text-decoration: none;
}
.three_menu_wrapper .inner h3 {
	font-family: var(--font-notsansjp);
	font-size: clamp(2rem, 2vw, 2.4rem);
	font-weight: 500;
	color: var(--color-blue);
	text-align: center;
	line-height: 1.4;
    text-align: center;
    height: 100%;
    min-height: 0%;
    padding-bottom: 1.6rem;
}
.three_menu_wrapper img {
	width: 100%;
    margin-bottom: 1rem;
}
.three_menu_wrapper  p {
	font-size: 1.6rem;
	line-height: 1.8;
    height: 100%;
    min-height: 0%;
    padding-bottom: 1rem;
}
@media only screen and (max-width: 1000px) {
.three_menu_wrapper {
    flex-direction: column;
    justify-content: space-between;
    flex-wrap: wrap;
}
 .three_menu_wrapper .inner {
    width: 100%;
    margin-bottom: 4rem;
}
}
.detail_link{
    display: flex;
    justify-content: center;
    align-items: center;
}
.detail_link h5{
    font-size: clamp(1.8rem, 2vw, 2.4rem);
    font-family: var(--font-notsansjp);
    display: inline-block;
    border-bottom: 4px solid var(--color-blue);
    padding: 0 2.2rem 2.4rem;
}
.detail_link h5 a{
    text-decoration: none;
}
@media only screen and (max-width: 840px) {
.three_menu_wrapper {
    margin: 6rem auto 3rem auto;
}
}