@charset "UTF-8";

/*-----------------------------------------------------
html
-------------------------------------------------------*/
html, body{
	margin: 0;
	padding: 0;
	margin-left:auto;
	margin-right:auto; 
	font-size: 17px !important;
	font-family: 'Noto Sans JP','メイリオ','Meiryo','ＭＳ Ｐゴシック','Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3',sans-serif;
	color: #222;
	line-height: 1.0;
	letter-spacing: .05em;
	text-align: center;
    -webkit-font-smoothing: antialiased; 
    -moz-osx-font-smoothing: grayscale;
	background: #f5f7f8;
    font-display: swap;
}

a:hover img{opacity:0.8;filter:alpha(opacity=80);-ms-filter: "alpha( opacity=80 )";}


#container{
	position: relative;
	z-index: 0;
}
/*-----------------------------------------------------
header
-------------------------------------------------------*/

.header_box{
	width: 100%;
    position: relative;
	z-index: 999;
}

.header_line{
    width: 100%;
    box-sizing: border-box;
    z-index: 999;
    display: flex;
    justify-content: space-between;
    margin: auto;
    position: relative;
}

.header_logo{
    position: relative;
}

.header_logo img{
    width: 210px;
    position: absolute;
    top: 32px;
    left: 46px;
}

.hamburger {
    display : block;
    position: absolute;
    z-index : 3;
    right : 46px;
    top   : 26px;
    width : 48px;
    height: 48px;
    cursor: pointer;
    text-align: center;
}
.hamburger span {
    display : block;
    position: absolute;
    width   : 48px;
    height  : 5px ;
    left    : 0px;
    background : #222;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition   : 0.5s ease-in-out;
    transition        : 0.5s ease-in-out;
}
.hamburger span:nth-child(1) {
    top: 10px;
}
.hamburger span:nth-child(2) {
    top: 25px;
}
.hamburger span:nth-child(3) {
    top: 40px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
    top : 24px;
    left: 0px;
    background : #fff;
    -webkit-transform: rotate(315deg);
    -moz-transform   : rotate(315deg);
    transform        : rotate(315deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
    top: 24px;
    background : #fff;
    -webkit-transform: rotate(-315deg);
    -moz-transform   : rotate(-315deg);
    transform        : rotate(-315deg);
}

nav.globalMenuSp {
}

nav.globalMenuSp.active {
    position: fixed;
    z-index : 2;
    top  : 0;
    left : 0;
    color: #fff;
    text-align: center;
    width: 100%;
    height: 100%;
}

.drawer_bg{
    display: none;
    position: fixed;
    z-index : 3;
    top  : 0;
    left : 0;
    width: 100%;
    height: 100%;
    background: rgba(51, 51, 51, 1);
}


.globalMenuSpin{
    max-width: 700px;
	height: 100%;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
	align-items: center;
	justify-content: center;
}

nav.globalMenuSp ul:first-child{
	width: 60%;
    text-align: left;
	vertical-align: top;
}

nav.globalMenuSp ul:last-child{
	width: 40%;
    text-align: left;
	vertical-align: top;
}


nav.globalMenuSp ul li{
	display: none;
}

nav.globalMenuSp.active ul li{
    display: block;
    color: #fff;
    text-decoration :none;
}

nav.globalMenuSp.active ul li.li{
	margin: 0 0 30px 0;
	position: relative;
}

nav.globalMenuSp.active ul li.li:last-child{
	margin: 0 0 0 0;
	position: relative;
}

nav.globalMenuSp.active ul li.li::before{
	position: absolute;
    content: "";
    width: 16px;
    height: 4px;
    background: #fff;
    top: 50%;
    transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
    left: 0;
    margin: 0px 0 0 0;
}


nav.globalMenuSp.active ul li.li a{
    color: #fafafa;
    display: inline-block;
    font-size: 32px;
	font-family: source-han-sans-japanese,sans-serif;
	font-weight: 700;
	font-style: normal;
	padding: 0 0 0 26px;
	line-height: 1.0;
}

nav.globalMenuSp.active ul li.li a:hover{
	text-decoration: none;
	color: #cccccc;
}



nav.globalMenuSp.active ul li.logo a{
	margin: 0 0 56px;
}

nav.globalMenuSp.active ul li.logo a img{
	width: 140px;
}

nav.globalMenuSp.active ul li.tel a{
	font-size: 46px;
    display: inline-block;
    background: url(../images/index/tel2.svg) no-repeat left top 4px;
    background-size: 24px;
    padding: 0 0 0 32px;
    margin: 0 0 14px;
	color: #fff;
    font-family: din-2014, sans-serif;
    font-weight: 700;
    font-style: normal;
}

nav.globalMenuSp.active ul li.tel span{
	color: #fff;
	display: block;
	font-size: 13px;
	margin: 0 0 36px;
}

nav.globalMenuSp.active ul li.mail a{
    display: inline-block;
    background: #fff;
    width: 75%;
    padding: 20px 0;
    font-weight: bold;
    border-radius: 4px;
    margin: 0 0 18px;
    position: relative;
    z-index: 1;
    transition: ease-in-out .3s;
	text-align: center;
}

nav.globalMenuSp.active ul li.mail a::before{
    content: url(../images/index/arrow.svg);
    display: block;
    position: absolute;
    width: 12px;
    top: 50%;
    transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
    right: 30px;
    z-index: 2;
    transition: .3s;
}

nav.globalMenuSp.active ul li.mail a:hover{
	text-decoration: none;
	background: #fafafa;
}

nav.globalMenuSp.active ul li.mail a:hover::before{
	right: 26px;
}

nav.globalMenuSp.active ul li.mail span{
	color: #fff;
	display: block;
	font-size: 13px;
	margin: 0 0 66px;
}




/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
    opacity: 100;
}



/*-----------------------------------------------------
main
-------------------------------------------------------*/
#main{
	width: 100%;
	height: auto;
	overflow: hidden;
}


.main_sp{
	width: 100%;
	background: url("../images/index/main_bg2.svg") , #f7d74f;
	background-size: 1600px, 100%;
	padding: 210px 0 140px 0;
}

.main_spin{
	max-width: 1300px;
	margin: 0 auto;
	text-align: left;
	position: relative;
}

.main_sp h2{
	font-size: 76px;
	line-height: 1.5;
	font-family: source-han-sans-japanese,sans-serif;
	font-weight: 700;
	font-style: normal;
	margin: 0 0 30px;
	position: relative;
	display: inline-block;
	z-index: 1;
}

.main_sp h2::before{
	position: absolute;
	content: "";
	display: inline-block;
	background: url("../images/index/main_ic.svg") no-repeat;
	background-size: contain;
	width: 150px;
	height: 136px;
	top: -8px;
	right: -10px;
	z-index: 2;
}

.main_sp span.txt{
	width: 640px;
	display: block;
	font-size: 18px;
	line-height: 2.2;
	font-family: source-han-sans-japanese,sans-serif;
	font-weight: 700;
	font-style: normal;
}

.main_img{
	position: absolute;
	bottom: -200px;
	right: -40px;
	z-index: 2;
    width: 680px;
    height: auto;
}

.main_img img{
	width: 100%;
    height: auto;
}

.main_txt span{
	font-family: source-han-sans-japanese,sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 60px;
	display: block;
	position: relative;
}
.main_txt span::before{
    content: "";
    position: absolute;
    display: block;
    background: #fff;
    width: 100%;
	height: 36px;
    top: 30px;
    right: 0;
    z-index: -1;
}

.main_txt img{
	width: 800px;
}


.main_img ul{
    width: 100%;
    box-sizing: border-box;
    display: grid;
    display: -ms-grid;
    grid-template-columns: 50% 50%;
    -ms-grid-columns: 50% 50%;
    grid-template-rows: auto;
    -ms-grid-rows: auto;
}

.main_img ul li img{
    width: 100%;
    height: auto;
}



/*-----------------------------------------------------
box1
-------------------------------------------------------*/
.box1{
	width: 100%;
	padding: 100px 0 100px;
}

.box1_in{
	max-width: 1100px;
	margin: 0 auto;
	box-sizing: border-box;
}

.box1 ul li{
	width: 100%;
	text-align: left;
	position: relative;
	margin: 0 0 80px;
}

.box1 ul li:last-child{
	margin: 0 0 0px;
}

.box1 ul li::before{
	position: absolute;
	z-index: -1;
	top: -30px;
	left: -130px;
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-left: 200px solid transparent;
	border-right: 200px solid transparent;
	border-bottom: 200px solid #222;
	transform: rotate(-45deg);
}

.box1 ul li dl dt span.pt{
	font-size: 42px;
	font-weight: bold;
	font-family: rockwell,sans-serif;
	font-weight: 700;
	font-style: italic;
	color: #f2d03b;
	display: block;
	margin: 0 0 0;
	padding: 26px 36px;
	box-sizing: border-box;
}

.box1 ul li dl dt span.t{
	display: block;
	box-sizing: border-box;
	padding: 26px 36px;
	margin: 0 0 30px 30px;
	background: #ffffff;
	font-size: 36px;
	font-weight: bold;
	font-family: source-han-sans-japanese,sans-serif;
	font-weight: 700;
	font-style: normal;
}

.box1 ul li dl dt span.txt{
	display: block;
	box-sizing: border-box;
	padding: 26px 36px;
	margin: 0 0 30px 30px;
	background: #f6f6f6;
	font-size: 18px;
	line-height: 1.8;
}




.box1 h2{
	font-size: 32px;
	padding: 0 0;
	margin: 0 0 64px;
	letter-spacing: 1px;
	position: relative;
	color: #fff;
	text-align: left;
    font-family: source-han-serif-japanese, serif;
    font-weight: 600;

}

.box1 h2 span{
	font-size: 30px;
	display: block;
	padding: 0px 0 10px 0;
	font-family: futura-pt-condensed, sans-serif;
	font-weight: 500;
	font-style: normal;
}

/*-----------------------------------------------------
box2
-------------------------------------------------------*/
.box2{
	width: 100%;
	text-align: left;
}

.box2_in{
	max-width: 100%;
	margin: 0 auto;
}

.box2 h2{
	text-align: center;
	font-size: 38px;
	margin: 0 0 4px;
	position: relative;
	font-family: source-han-sans-japanese,sans-serif;
	font-weight: 700;
	font-style: normal;
	display: block;
	line-height: 1.5;
	margin: 0 0 22px;
}

.box2 span.ts{
	display: block;
	text-align: center;
	font-size: 18px;
	line-height: 1.8;
}


.box2_col{
	background: #fff;
	padding: 170px 0 60px 0;
	margin: -115px 0 0 0;
	box-sizing: border-box;

}

.box2_col ul{
	max-width: 1100px;
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
	margin: 0 auto 46px;
}

.box2_col ul li{
	width: 18%;
    height: auto;
	text-align: center;
}

.box2_col ul li span.img{
    height: 70px;
    width: auto;
	display: block;
	margin: 0 auto 26px;
}

.box2_col ul li span.img img{
    height: 100%;
    width: auto;
}

.box2_col ul li:nth-child(1) span.img img{height: 70px;}
.box2_col ul li:nth-child(2) span.img img{height: 70px;}
.box2_col ul li:nth-child(3) span.img img{height: 70px;}
.box2_col ul li:nth-child(4) span.img img{height: 70px;}
.box2_col ul li:nth-child(5) span.img img{height: 70px;}
.box2_col ul li:nth-child(6) span.img img{height: 70px;}

.box2_col ul li span.st{
	font-size: 16px;
	display: block;
	color: #f3cf39;
	margin: 0 0 20px;
    font-family: din-2014, sans-serif;
    font-weight: 700;
    font-style: normal
}

.box2_col ul li span.t{
	font-weight: bold;
	display: block;
	margin: 0 0 16px;
	font-size: 21px;
}

.box2_col ul li span.txt{
	display: block;
	line-height: 1.6;
}

.box2_col2{
	text-align: center;
}

.box2_col2 span.box{
	display: table;
	margin: 0 auto;
	background: #f3cf39;
	padding: 14px 20px;
	border-radius: 30px;
}

.box2_col2 span.li{
	color: #222;
	display: table-cell;
	padding: 0 16px;
	font-size: 16px;
	border-right: 1px solid #222;
}

.box2_col2 span.li:last-child{
	border-right: none;
}

/*-----------------------------------------------------
box3
-------------------------------------------------------*/
.box3{
	width: 100%;
	text-align: left;
}

.box3_in{
	max-width: 1100px;
	margin: 0 auto;
	padding: 100px 0px 80px 0px;
}

.box3 h2{
	text-align: left;
	font-size: 18px;
	margin: 0 0 4px;
	position: relative;
	font-family: source-han-sans-japanese,sans-serif;
	font-weight: 700;
	font-style: normal;
	display: block;
}

.box3 span.ts{
	font-size: 66px;
	font-weight: bold;
	font-family: din-2014, sans-serif;
	font-weight: 700;
	font-style: normal;
	display: block;
	margin: 0 0 36px;
	letter-spacing: 4px;
}

.box3_col1{
	width: 100%;
    height: auto;
	position: relative;
}


.box3_col1in{
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

.box3 ul{
    width: 100%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
	margin: 0 0 46px;
}

.box3 ul li{
    width: 30%;
    box-sizing: border-box;
}

.box3 ul li a{
    display: block;
}

.box3 ul li a:hover{
	text-decoration: none;
}

.box3 ul li .img{
    width: 100%;
	height: 200px;
	display: block;
	overflow: hidden;
	border-radius: 2px;
}

.box3 ul li img{
    width: 100%;
	height: auto;
	display: block;
	transition-duration: 1.5s;
}

.box3 ul li img:hover{
	transform: scale(1.1);
	transition-duration: 1.5s;
}

.box3 ul li .txt{
	padding: 10px 0 0 0;
}

.box3 ul li span.t{
    line-height: 1.8;
    display: block;
	font-weight: bold;
	height: 84px;
}

.box3 ul li span.cat1{
    font-size: 12px;
    display: inline-block;
    margin: 0 0 0 0;
	padding: 6px 10px;
    background: #555;
	color: #fff;
}

.box3 ul li span.cat2{
    font-size: 12px;
    display: inline-block;
	padding: 6px 10px;
	background: #fff;
}

.box3 .button1{
	margin: 0 auto;
}

/*-----------------------------------------------------
box4
-------------------------------------------------------*/
.box4{
	width: 100%;
	text-align: left;
	margin: 0 0 0;
	padding: 80px 0 80px;
	overflot:hidden;
	z-index: 0;
	background: #fff;
}


.box4in{
	max-width: 1100px;
	margin: 0 auto;
}

.box4 h2{
	text-align: left;
	font-size: 18px;
	margin: 0 0 4px;
	position: relative;
	font-family: source-han-sans-japanese,sans-serif;
	font-weight: 700;
	font-style: normal;
	display: block;
}

.box4 span.ts{
	font-size: 66px;
	font-weight: bold;
	font-family: din-2014, sans-serif;
	font-weight: 700;
	font-style: normal;
	display: block;
	margin: 0 0 36px;
	letter-spacing: 4px;
}

.box4 ul{
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
	margin: 0 0 36px;
}

.box4 ul li{
    width: 49%;
    box-sizing: border-box;
	margin: 0 0 26px;
}

.box4 ul li a{
    display: block;
}

.box4 ul li a:hover{
	text-decoration: none;
}

.box4 ul li dl{
	display: table;
}

.box4 ul li dl dt{
	display: table-cell;
}

.box4 ul li dl dt span{
	display: block;
	width: 180px;
	height: 110px;
	overflow: hidden;
}

.box4 ul li dl dt img{
	width: 100%;
}

.box4 ul li dl dd{
	display: table-cell;
	vertical-align: top;
	padding: 16px;
	box-sizing: border-box;
}

.box4 ul li dl dd span.t{
	font-weight: bold;
	line-height: 1.5;
}

.box4 ul li dl dd span.time{
	font-size: 13px;
	display: block;
	margin: 0 0 16px;
}

.box4 .button1{
	margin: 0 auto;
}

/*-----------------------------------------------------
box5
-------------------------------------------------------*/
.box5{
	width: 100%;
	text-align: left;
	margin: 0 0 0;
	padding: 120px 0 0;
	overflot:hidden;
	z-index: 0;
}


.box5_in{
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

.box5 h2{
	text-align: left;
	font-size: 18px;
	margin: 0 0 4px;
	position: relative;
	font-family: source-han-sans-japanese,sans-serif;
	font-weight: 700;
	font-style: normal;

	display: block;
}

.box5 span.ts{
	font-size: 66px;
	font-weight: bold;
	font-family: din-2014, sans-serif;
	font-weight: 700;
	font-style: normal;
	display: block;
	margin: 0 0 86px;
	letter-spacing: 4px;
}

/*--col1--*/

.box5_col1{
	width: 100%;
	position: relative;
	padding: 0 0 200px;
}

.box5_col1::before{
	position: absolute;
	content: "";
	background: #f7d74f;
	width: 1200px;
	height: 180px;
	top: 16px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}


.box5_col1txt{
	max-width: 1100px;
	text-align: left;
	margin: 0 auto;
	z-index: 3;
	position: relative;
}

.box5_col1txtin{
	width: 46%;
	margin: 0 auto 0 0;
}

.box5_col1txt span.st{
    font-family: din-2014, sans-serif;
    font-weight: 700;
    font-style: normal;
	font-size: 20px;
	display: inline-block;
	margin: 56px 0 36px;
	position: relative;
}

.box5_col1txt span.st::before{
	position: absolute;
	content: "";
	display: inline-block;
	width: 60px;
	height: 1px;
	background: #222222;
	right: -70px;
	top: 50%;
    transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
}

.box5_col1txt span.t{
	font-family: source-han-sans-japanese,sans-serif;
	font-weight: 700;
	font-style: normal;

	display: block;
	line-height: 1.4;
	font-size: 38px;
	margin: 0 0 36px;
}

.box5_col1txt span.txt{
	line-height: 2.0;
	display: block;
}

.box5_col1img{
	width: 48%;
    height: auto;
    overflow: hidden;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    text-align: left;
}

.box5_col1img img{
	width: 100%;
    height: auto;
    max-width: 700px;
}

/*--col2--*/
.box5_col2{
	width: 100%;
	position: relative;
	padding: 0 0 160px;
}

.box5_col2::before{
	position: absolute;
	content: "";
	background: #fff;
	width: 1200px;
	height: 180px;
	top: 16px;
	left: 50%;
	transform: translateX(-50%);
}

.box5_col2txt{
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

.box5_col2txtin{
	width: 46%;
	margin: 0 0 0 auto;
}

.box5_col2txt span.st{
    font-family: din-2014, sans-serif;
    font-weight: 700;
    font-style: normal;
	font-size: 18px;
	display: inline-block;
	margin: 56px 0 36px;
	position: relative;
}

.box5_col2txt span.st::before{
	position: absolute;
	content: "";
	display: inline-block;
	width: 60px;
	height: 1px;
	background: #222222;
	right: -70px;
	top: 50%;
    transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
}

.box5_col2txt span.t{
	font-family: source-han-sans-japanese,sans-serif;
	font-weight: 700;
	font-style: normal;
	display: block;
	line-height: 1.4;
	font-size: 38px;
	margin: 0 0 36px;
}

.box5_col2txt span.txt{
	line-height: 2.0;
	display: block;
}

.box5_col2img{
	width: 48%;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    text-align: right;
}

.box5_col2img img{
	width: 700px;
}


/*--col3--*/

.box5_col3{
	width: 100%;
	position: relative;
	padding: 0 0 200px;
}

.box5_col3::before{
	position: absolute;
	content: "";
	background: #f7d74f;
	width: 1200px;
	height: 180px;
	top: 16px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}


.box5_col3txt{
	width: 1100px;
	text-align: left;
	margin: 0 auto;
	z-index: 3;
	position: relative;
}

.box5_col3txtin{
	width: 46%;
	margin: 0 auto 0 0;
}

.box5_col3txt span.st{
    font-family: din-2014, sans-serif;
    font-weight: 700;
    font-style: normal;
	font-size: 18px;
	display: inline-block;
	margin: 56px 0 36px;
	position: relative;
}

.box5_col3txt span.st::before{
	position: absolute;
	content: "";
	display: inline-block;
	width: 60px;
	height: 1px;
	background: #222222;
	right: -70px;
	top: 50%;
    transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
}

.box5_col3txt span.t{
	font-family: source-han-sans-japanese,sans-serif;
	font-weight: 700;
	font-style: normal;
	display: block;
	line-height: 1.4;
	font-size: 38px;
	margin: 0 0 36px;
}

.box5_col3txt span.txt{
	line-height: 2.0;
	display: block;
}

.box5_col3img{
	width: 48%;
    overflow: hidden;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    text-align: left;
}

.box5_col3img img{
	width: 700px;
}


/*--col4--*/
.box5_col4{
	width: 100%;
	position: relative;
	padding: 0 0 140px;
}

.box5_col4::before {
	position: absolute;
	content: "";
	background: #fff;
	width: 1200px;
	height: 180px;
	top: -40px;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.box5_col4txt{
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

.box5_col4txtin{
	width: 100%;
	margin: 0 auto 0 0;
}

.box5_col4txt span.st{
    font-family: din-2014, sans-serif;
    font-weight: 700;
    font-style: normal;
	font-size: 18px;
	display: inline-block;
	margin: 0px 0 36px;
	position: relative;
}

.box5_col4txt span.st::before{
	position: absolute;
	content: "";
	display: inline-block;
	width: 60px;
	height: 1px;
	background: #222222;
	right: -70px;
	top: 50%;
    transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
}

.box5_col4txt span.t{
	font-family: source-han-sans-japanese,sans-serif;
	font-weight: 700;
	font-style: normal;
	display: block;
	line-height: 1.4;
	font-size: 38px;
	margin: 0 0 36px;
}

.box5_col4txt span.txt{
	line-height: 2.0;
	display: block;
	margin: 0 0 36px;
}

.box5_col4img{
	max-width: 1100px;
	margin: 0 auto;
    text-align: left;
}

.box5_col4img ul{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.box5_col4img ul li{
	width: 24%;
    height: auto;
}

.box5_col4img ul li img{
	width: 100%;
    height: auto;
}


/*--col5--*/
.box5_col5{
	width: 100%;
	position: relative;
	padding: 0 0 160px;
}

.box5_col5::before{
	position: absolute;
	content: "";
	background: #fff;
	width: 1200px;
	height: 180px;
	top: 16px;
	left: 50%;
	transform: translateX(-50%);
}

.box5_col5txt{
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

.box5_col5txtin{
	width: 46%;
	margin: 0 0 0 auto;
}

.box5_col5txt span.st{
    font-family: din-2014, sans-serif;
    font-weight: 700;
    font-style: normal;
	font-size: 18px;
	display: inline-block;
	margin: 56px 0 36px;
	position: relative;
}

.box5_col5txt span.st::before{
	position: absolute;
	content: "";
	display: inline-block;
	width: 60px;
	height: 1px;
	background: #222222;
	right: -70px;
	top: 50%;
    transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
}

.box5_col5txt span.t{
	font-family: source-han-sans-japanese,sans-serif;
	font-weight: 700;
	font-style: normal;
	display: block;
	line-height: 1.4;
	font-size: 38px;
	margin: 0 0 36px;
}

.box5_col5txt span.txt{
	line-height: 2.0;
	display: block;
}

.box5_col5img{
	width: 48%;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    text-align: right;
}

.box5_col5img img{
	width: 700px;
}

/*-----------------------------------------------------
box6
-------------------------------------------------------*/
.box6{
	width: 100%;
	text-align: left;
	margin: 0 0 0;
	padding: 80px 0 80px;
	overflot:hidden;
	z-index: 0;
}


.box6in{
	max-width: 1100px;
	margin: 0 auto;
}

.box6 h2{
	text-align: left;
	font-size: 18px;
	margin: 0 0 4px;
	position: relative;
	font-family: source-han-sans-japanese,sans-serif;
	font-weight: 700;
	font-style: normal;
	display: block;
}

.box6 span.ts{
	font-size: 66px;
	font-weight: bold;
	font-family: din-2014, sans-serif;
	font-weight: 700;
	font-style: normal;
	display: block;
	margin: 0 0 36px;
	letter-spacing: 4px;
}

.box6in ul{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
	margin: 0 0 56px;
}

.box6in ul li{
	width: 23.5%;
}

.box6in ul li a{
    display: block;
}

.box6in ul li a:hover{
	text-decoration: none;
}

.box6in ul li .img{
    width: 100%;
    height: 170px;
    display: block;
    overflow: hidden;
    border-radius: 2px;
}

.box6in ul li img {
    width: 100%;
    height: auto;
    display: block;
    transition-duration: 1.5s;
}

.box6in ul li img:hover{
	transform: scale(1.1);
	transition-duration: 1.5s;
}

.box6in ul li .txt {
    padding: 10px 0 0 0;
}

.box6in ul li span.t {
    line-height: 1.5;
    display: block;
    font-weight: bold;
}

.box6 .button1 {
    margin: 0 auto;
}

/*-----------------------------------------------------
box7
-------------------------------------------------------*/
.box7{
	width: 100%;
	text-align: left;
	margin: 0 0 0;
	padding: 80px 0 80px;
	z-index: 0;
}

.box7 h2 {
    text-align: center;
    font-size: 38px;
    margin: 0 0 4px;
    position: relative;
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 700;
    font-style: normal;
    display: block;
    line-height: 1.5;
    margin: 0 0 40px;
}

.box7in{
	max-width: 900px;
	margin: 0 auto;
  	display:-webkit-box;
	display: -webkit-flex;
  	display:-ms-flexbox;
  	display:flex;
  	-webkit-box-orient: vertical;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: column;
  	flex-direction: column;
	gap: 30px;
}

.box7in dl{
  	display:-webkit-box;
	display: -webkit-flex;
  	display:-ms-flexbox;
  	display:flex;
  	-webkit-box-orient: vertical;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: column;
  	flex-direction: column;
	gap: 16px;
	line-height: 1.8;
}


.box7in dl dt{
	margin-left: 20px;
	position: relative;
}

.box7in dl dt .text{
	font-weight: bold;
	padding: 16px 26px;
	background: #f3cf39;
	border-radius: 10px;
	display: inline-block;
}


.box7in dl dt::after {
	content: "";
    position: absolute;
    left: -14px;
    bottom: 0;
    width: 0;
    height: 0;
    border-right: 25px solid #f3cf39;
    border-top: 25px solid transparent;
}

.box7in dl dd{
	background: #fff;
	padding: 16px 26px;
	border-radius: 10px;
	margin-right: 20px;
	position: relative;
	font-weight: bold;
}

.box7in dl dd::after {
	content: "";
    position: absolute;
    right: -14px;
    bottom: 0;
    width: 0;
    height: 0;
    border-left: 25px solid #fff;
    border-top: 25px solid transparent;
}

/*-----------------------------------------------------
contact
-------------------------------------------------------*/
.contact{
	width: 100%;
	text-align: left;
	margin: 0 0 0;
	z-index: 0;
	background: #f7d74f;
	position: relative;
	overflow: hidden;
}

.contact:before{
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: -49%;
	background: #f3cf39;
	transform:skew(-20deg);
	z-index: 1;
	overflot:hidden;
}
.contact h2{
    margin: 0 auto;
    text-align: center;
    font-size: 32px;
    margin: 0 0 46px;
}

.contact_in{
	max-width: 1100px;
	margin: 0 auto;
    padding: 80px 0 80px;
	position: relative;
	z-index: 3;
}

.contact ul{
	width: 100%;
	display: table;

}

.contact ul li{
	width: 50%;
	display: table-cell;
	vertical-align: top;
    box-sizing: border-box;
    border-right: 1px solid #666;
	text-align: center;
}

.contact ul li:last-child{
    border-right: none;
}


.contact ul li.l a{
	font-size: 48px;
	display: inline-block;
	font-weight: bold;
	background: url("../images/index/tel.svg") no-repeat left top 4px;
	background-size: 24px;
	padding: 0 0 0 32px;
	margin: 8px 0 14px;
}

.contact ul li.l span{
	display: block;
	line-height: 1.5;
}

.contact ul li.r a{
	display: inline-block;
	background: #fff;
	width: 360px;
	padding: 22px 0;
	font-weight: bold;
	border-radius: 4px;
	margin: 0 0 10px;
	position: relative;
	z-index: 1;
    transition: ease-in-out .3s;
}

.contact ul li.r span{
	display: block;
	line-height: 1.5;
}

.contact ul li.r a::before{
	content: url("../images/index/arrow.svg");
    display: block;
    position: absolute;
    width: 12px;
    top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	right: 30px;
	z-index: 2;
    transition: .3s;
}

.contact ul li.r a:hover{
	text-decoration: none;
	background: #fafafa;
}

.contact ul li.r a:hover::before {
	right: 26px;
}
/*-----------------------------------------------------
title
-------------------------------------------------------*/
.title h1{
	font-size: 20px;
	font-weight: bold;
	padding: 14px;
	background: #F8331E;
	color: #fff;
	margin: 0 0 16px;
}

.title h1 span{
	display: inline-block;
	border-left: 4px solid #FFF;
	padding: 0 0 0 14px;
}

.title h2{
	text-align: left;
	font-size: 18px;
	margin: 0 0 4px;
	position: relative;
	font-family: source-han-sans-japanese,sans-serif;
	font-weight: 700;
	font-style: normal;
	display: block;
}

.title span.ts{
	font-size: 66px;
	font-weight: bold;
	font-family: din-2014, sans-serif;
	font-weight: 700;
	font-style: normal;
	display: block;
	letter-spacing: 4px;
}


.title h3{
	text-align: left;
	font-size: 32px;
	font-weight: bold;
	line-height: 1.0;
	padding: 0 0 16px 0;
	letter-spacing: 1px;
	position: relative;
}

.title h3::after{
    display: block;
    content: '';
    position: absolute;
	width: 120px;
	border-bottom: 3px solid #156e98;
	bottom: 0px;
	text-align: left;
	margin: 0 auto;
}


.title h3 span{
	font-size: 14px;
	font-weight: bold;
	color: #222;
	display: block;
	padding: 6px 0 0 0;
	color: #004998;
}
/*-----------------------------------------------------
button
-------------------------------------------------------*/
.button1{
	width: 360px;
	text-align: center;
	display: block;
	background: #f7d74f;
	border-radius: 4px;
}

.button1 a{
    display: block;
    padding: 18px 0;
    color: #222 !important;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 15px;
	position: relative;
	z-index: 1;
}


.button1 a::before{
	content: url("../images/index/arrow.svg");
    display: block;
    position: absolute;
    width: 12px;
    top: 50%;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
	right: 30px;
	z-index: 2;
    transition: .3s;
}

.button1 a:hover{
	text-decoration: none;
	background: #f3cf39;
}

.button1 a:hover::before {
	right: 26px;
}




.button2{
	width: 220px;
	text-align: center;
	border: 1px solid #333;
	text-transform: uppercase;
	display: block;
	overflow: hidden;
}

.button2 a{
    display: block;
    padding: 16px 0;
    color: #333 !important;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 15px;
	position: relative;
	z-index: 1;
}

.button2 a:hover{
	text-decoration: none;
	color: #fff !important;
	transition: 0.5s ease-in-out;
}

.button2 a::before {
	content: '';
	position: absolute;
    display: block;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	transition: 0.5s ease-in-out;
	background-color: #333;
	-webkit-transform: translateX(-100%);
		  transform: translateX(-100%);
}

.button2 a:hover::before {
	z-index: -1;
	-webkit-transform: translateX(0);
		  transform: translateX(0);
}

.button2 a::after{
	display: block;
	content: "";
	position: absolute;
	margin-top: -6px;
    top: 50%;
	right: 30px;
	width: 8px;
	height: 8px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.button2 a:hover::after{
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

/*-----------------------------------------------------
footer
-------------------------------------------------------*/

#footer{
	width: 100%;
	height: auto;

}

.ft_box{
	width: 100%;
	margin: 0 auto;
	background: #fff;
	padding: 80px 0 0 0;
	font-size: 14px;
}

.ft_boxin{
	width: 1000px;
	margin: 0 auto 60px;
	text-align: left;
    display:flex;
    justify-content:space-between;
}

.ft_right{
	width: 360px;
	text-align: left;
	display: inline-block;
	vertical-align: top;
    box-sizing: border-box;
}

.ft_right p{
    line-height: 1.8;
    margin: 0 0 24px;
}

.ft_right span.logo{
    display: block;
    margin: 0 0 10px;
}

.ft_right span.logo img{
	width: 120px;
}

.ft_left{
	text-align: left;
	display: inline-block;
	vertical-align: top;
}

.ft_left ul{
	width: 170px;
	margin: 0 36px 0 0;
	display: inline-block;
	vertical-align: top;
}

.ft_left ul li{
	margin: 0 0 18px 0;
}

.ft_left ul li.t{
	padding: 0 0 14px;
    font-size: 14px;
}

.ft_left ul li a{
	display: inline-block;
	padding: 0 0 0 17px;
	color: #222;
	position: relative;
}

.ft_left ul li a::before{
	position: absolute;
	content: "";
	width: 6px;
	height: 2px;
	background: #222;
	top: 50%;
	left: 0;
	margin: -2px 0 0 0;
}

.ft_logo{
	text-align: center;
}

.ft_logo img{
	width: 230px;
}


.ft_cp{
	width: 1000px;
	margin: 0 auto;
	padding: 36px 0 62px 0;
}

.ft_cp p{
	font-size: 12px;
	color: #222;
}


/*-----------------------------------------------------
page-top
-------------------------------------------------------*/

#page-top {
    position: fixed;
    bottom: 0;
    right: 40px;
	z-index: 9999;
	margin: 0 0 62px;
}

#page-top a{
    padding: 22px;
    display: inline-block;
    background: #f7d74f;
    border-radius: 6px;
}

#page-top a:hover{
    text-decoration: none;
}

#page-top a img{
	width: 18px;
}


/*-----------------------------------------------------
reCAPTCHA
-------------------------------------------------------*/
.grecaptcha-badge { visibility: hidden; }

.recaptcha{
    margin: 34px auto 15px;
    border: 1px solid #dddddd;
    padding: 20px;
    border-radius: 4px;
    background: #fafafa;
    width: 600px;
    text-align: left;
}

.recaptcha p{
  font-size:12px;
  color:#808080;
  line-height: 1.75;
}

.recaptcha a{
  display: inline;
  text-decoration: underline;
  color:#808080;    
}

.recaptcha span{
    display: inline-block;
    color: #222222;
}