@charset "UTF-8";

@media (min-width : 768px) {
	.pc_none{
		display: none !important;
	}

	a[href^="tel:"] {
		pointer-events: none !important;
	}
}


@media (max-width : 767px ){
	.sp_none{
		display: none !important;
	}
	

	body,html{
		min-width: inherit;
		font-size: 15px !important;
	}

	#container{
		width: 100%;
		background: none;
		margin: 0 auto;
	}

	/*-----------------------------------------------------
	header
	-------------------------------------------------------*/
	
	.header_box{
		width: 100%;
		position: absolute;
		z-index: 999;
	}

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

	.header_logo{

	}

	.header_logo img{
		width: 140px!important;
		top: 0px!important;
		left: 0px;
	}

	.hamburger {
		display : block;
		position: fixed;
		z-index : 3;
		right : 16px;
		top   : 20px;
		width : 34px;
		height: 34px;
		cursor: pointer;
		text-align: center;
	}
	.hamburger span {
		display : block;
		position: absolute;
		width   : 34px;
		height  : 4px ;
		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: 0px;
	}
	.hamburger span:nth-child(2) {
		top: 12px;
	}
	.hamburger span:nth-child(3) {
		top: 24px;
	}

	/* ナビ開いてる時のボタン */
	.hamburger.active span:nth-child(1) {
		top : 10px;
		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: 10px;
		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;
		background: rgba(51, 51, 51, 1.9);
		text-align: center;
		width: 100%;
		height: 100%;
		opacity: 0;
		transition: opacity 0.7s ease, visibility 0.7s ease;
	}

	.globalMenuSpin{
		max-width: auto;
		height: 100%;
		margin: 0 40px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: block;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: flex-start;
		align-items: inherit;
		justify-content: inherit;
	}

	nav.globalMenuSp ul:first-child{
		width: 100%;
		display: block;
		text-align: left;
		vertical-align: top;
        padding: 46px 0 0 0;
	}

	nav.globalMenuSp ul:last-child{
		width: 100%;
		display: block;
		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 20px 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: 12px;
		height: 3px;
		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: 20px;
		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 26px;
	}

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

	nav.globalMenuSp.active ul li.tel a{
		font-size: 36px;
		display: inline-block;
		background: url(../images/index/tel2.svg) no-repeat left top 4px;
		background-size: 18px;
		padding: 0 0 0 28px;
		margin: 0 0 10px;
		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: 11px;
		margin: 0 0 20px;
	}

	nav.globalMenuSp.active ul li.mail a{
		display: inline-block;
		background: #fff;
		width: 100%;
		padding: 14px 0;
		font-weight: bold;
		border-radius: 4px;
		margin: 0 0 14px;
		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: 11px;
		margin: 0 0 26px;
	}

	/* このクラスを、jQueryで付与・削除する */
	nav.globalMenuSp.active {
		opacity: 100;
	}
	
		
	/*-----------------------------------------------------
	main
	-------------------------------------------------------*/
	#main{
		width: 100%;
		height: auto;
		overflow: hidden;
	}

	.main_sp{
		width: auto;
		background: url("../images/index/main_bg2.svg") , #f3cf39;
		background-size: 700px, 100%;
		padding: 110px 26px 60px 26px;
	}

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


	.main_sp h2{
		font-size: 9.0vw;
		line-height: 1.3;
		font-family: source-han-sans-japanese,sans-serif;
		font-weight: 700;
		font-style: normal;
		margin: 0 0 20px;
		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: 50px;
		height: 47px;
		top: -1px;
		right: 7px;
		z-index: 2;
	}

	.main_sp span.txt{
		display: block;
		width: 100%;
		font-size: 14px;
		line-height: 1.7;
		font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
		font-style: normal;
	}

	.main_sp span.txt br{
		display: none;
	}

	.main_img{
		width: 200px;
		position: absolute;
		bottom: -158px;
		right: 0px;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		margin: 0 auto;
		z-index: 2;
	}

	.main_img img{
		width: 200px;
	}

	.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%;
        background: url("../images/index/box1_bg.jpg") bottom;
        background-size: cover;
        padding: 40px 0;
        position: relative;
    }

    .box1:before{
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        background: rgba(0,0,0,0.10);
        top: 0;
        left: 0;
        z-index: 1;
    }


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

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

    }

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

    .box1 ul{
        width: auto;
        display: block;
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        -webkit-box-pack:justify;
        -ms-flex-pack:justify;
        flex-direction: column;
        margin: 0 16px;
        box-sizing: border-box;
    }

    .box1 ul li{
        width: 100%;
        padding: 16px 0px;
        background-color: rgba(255, 255, 255, 0.29);
        text-align: center;
        -webkit-transition: 0.4s ease;
        transition: 0.4s ease;
        margin: 0 0 8px;
    }

    .box1 ul li span.t{
        display: block;
        margin: 0 0 12px;
        color: #fff;
        font-size: 14px;
    }

    .box1 ul li span.txt{
        display: inline-block;
        font-size: 16px;
        line-height: 1;
        letter-spacing: 0.12em;
        color: #fff;
        writing-mode: inherit;
        -webkit-writing-mode: inherit;
        -ms-writing-mode: inherit;
    }
	
	/*-----------------------------------------------------
	box2
	-------------------------------------------------------*/
	.box2{
		width: 100%;
		text-align: left;
		padding: 20px 0 20px 0;
	}

	.box2_in{
		max-width: auto;
		margin: 0 16px;
	}

	.box2 h2{
		font-size: 5.2vw;
		margin: 0 0 12px;
	}

	.box2 span.ts{
		display: block;
		text-align: center;
		font-size: 14px;
		line-height: 1.7;
		margin: 0 22px;
	}

	.box2_col{
		background: #fff;
		padding: 170px 10px 26px 10px;
		margin: -142px 0 0 0;
		box-sizing: border-box;

	}

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

	.box2_col ul li{
		width: 49%;
		text-align: center;
	}

	.box2_col ul li span.img{
        display: flex;
        align-items: center;
        justify-content: center;
		margin: 0 auto 16px;
	}

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

	.box2_col ul li span.st{
		font-size: 12px;
		display: block;
		color: #f4ba00;
		margin: 0 0 12px;
		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 10px;
		font-size: 16px;
	}

	.box2_col ul li span.txt{
		display: block;
		line-height: 1.6;
		font-size: 13px;
		margin: 0 0 16px;
	}

	.box2_col2{
		text-align: center;
		width: 100%;
		margin: 0 auto;
	}

	.box2_col2 span.box{
		width: auto;
		display: table;
		margin: 0 auto;
		background: #f3cf39;
		padding: 6px 26px;
		border-radius: 10px;
	}

	.box2_col2 span.li{
		color: #222;
		display: block;
		padding: 8px 0 5px;
		border-bottom: 1px solid #222;
		border-right: none;
		line-height: 1.5;
		font-size: 13px;
	}

	.box2_col2 span.li:last-child{
		padding: 5px 0 8px;
		border-bottom: none;
		border-right: none;
	}
	
	/*-----------------------------------------------------
	box3
	-------------------------------------------------------*/
	.box3{
		width: 100%;
		text-align: left;
	}

	.box3_in{
		width: auto;
		margin: 0 auto;
		padding: 30px 30px 30px 30px;
	}

	.box3 h2{
		text-align: left;
		font-size: 15px;
		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: 40px;
		font-weight: bold;
		font-family: din-2014, sans-serif;
		font-weight: 700;
		font-style: normal;
		display: block;
		margin: 0 0 16px;
		letter-spacing: 4px;
	}

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


	.box3_col1in{
		width: auto;
		margin: 0 auto;
	}

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

	.box3 ul li{
		width: 90%;
		box-sizing: border-box;
		margin: 0 auto 26px;
	}

	.box3 ul li a{
		display: block;
	}

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

	.box3 ul li .img{
		width: 100%;
		height: 160px;
		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.7;
		display: block;
		font-weight: bold;
		height: 60px;
		font-size: 14px;
	}

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

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

	.box3 .button1{
		margin: 0 auto;
	}


	/*-----------------------------------------------------
	box4
	-------------------------------------------------------*/
	.box4{
		width: auto;
		text-align: left;
		margin: 0 0 0;
		padding: 30px 0 36px;
		overflot:hidden;
		z-index: 0;
	}


	.box4in{
		width: auto;
		margin: 0 30px;
	}

	.box4 h2{
		text-align: left;
		font-size: 15px;
		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: 40px;
		font-weight: bold;
		font-family: din-2014, sans-serif;
		font-weight: 700;
		font-style: normal;
		display: block;
		margin: 0 0 16px;
		letter-spacing: 4px;
	}

	.box4 ul{
		width: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: block;
		-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 20px;
	}

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

	.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: 100px;
		height: 65px;
		overflow: hidden;
	}

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

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

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

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

	.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{
		width: auto;
		margin: 0 30px;
		position: relative;
		z-index: 2;
	}

	.box5 h2{
		text-align: left;
		font-size: 15px;
		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: 40px;
		font-weight: bold;
		font-family: din-2014, sans-serif;
		font-weight: 700;
		font-style: normal;
		display: block;
		margin: 0 0 10px;
		letter-spacing: 4px;
	}

	/*--col1--*/

	.box5_col1{
		width: auto;
		position: relative;
		padding: 0 30px 60px;
	}

	.box5_col1::before{
		height: 100px;
		top: -18px;
	}


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

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

	.box5_col1txt span.st{
		font-family: din-2014, sans-serif;
		font-weight: 700;
		font-style: normal;
		font-size: 18px;
		display: inline-block;
		margin: 0 0 10px;
		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: 24px;
		margin: 0 0 10px;
	}

	.box5_col1txt span.txt{
		line-height: 1.7;
		display: block;
		font-size: 14px;
		margin: 0 0 16px;
	}

	.box5_col1img{
		width: 90%;
		overflow: hidden;
		position: inherit;
		top: 0;
		right: 0;
		z-index: 1;
		text-align: center;
		margin: 0 auto;
	}

	.box5_col1img img{
		width: 100%;
	}

	/*--col2--*/
	.box5_col2{
		width: auto;
		position: relative;
		padding: 0 30px 60px;
	}

	.box5_col2::before{
		height: 100px;
		top: -18px;
	}

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

	.box5_col2txtin{
		width: auto;
		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: 0px 0 10px;
		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: 24px;
		margin: 0 0 10px;
	}

	.box5_col2txt span.txt{
		line-height: 1.7;
		display: block;
		font-size: 14px;
		margin: 0 0 16px;
	}

	.box5_col2img{
		width: 90%;
		overflow: hidden;
		position: inherit;
		top: 0;
		left: 0;
		z-index: 1;
		text-align: center;
		margin: 0 auto;
	}

	.box5_col2img img{
		width: 100%;
	}


	/*--col3--*/

	.box5_col3{
		width: auto;
		position: relative;
		padding: 0 30px 60px;
	}

	.box5_col3::before{
		height: 100px;
		top: -18px;
	}


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

	.box5_col3txtin{
		width: auto;
		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: 0px 0 10px;
		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: 24px;
		margin: 0 0 10px;
	}

	.box5_col3txt span.txt{
		line-height: 1.7;
		display: block;
		font-size: 14px;
		margin: 0 0 16px;
	}

	.box5_col3img{
		width: 90%;
		overflow: hidden;
		position: inherit;
		top: 0;
		right: 0;
		z-index: 1;
		text-align: center;
		margin: 0 auto;
	}

	.box5_col3img img{
		width: 100%;
	}
	
	/*--col4--*/
	.box5_col4{
		width: auto;
		position: relative;
		padding: 40px 30px 60px;
	}

	.box5_col4::before{
		height: 100px;
		top: 24px;
	}

	.box5_col4txt{
		width: auto;
		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 10px;
		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: 24px;
		margin: 0 0 10px;
	}
	
	.box5_col4txt span.t br{
		display: none;
	}

	.box5_col4txt span.txt{
		line-height: 1.7;
		display: block;
		font-size: 14px;
		margin: 0 0 16px;
	}

	.box5_col4img{
		width: 100%;
		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: 48%;
		margin: 0 0 10px;
	}

	.box5_col4img ul li img{
		width: 100%;
	}
	
	/*--col5--*/
	.box5_col5{
		width: auto;
		position: relative;
		padding: 0 30px 60px;
	}

	.box5_col5::before{
		height: 100px;
		top: -18px;
	}

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

	.box5_col5txtin{
		width: auto;
		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: 0px 0 10px;
		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: 24px;
		margin: 0 0 10px;
	}

	.box5_col5txt span.txt{
		line-height: 1.7;
		display: block;
		font-size: 14px;
		margin: 0 0 16px;
	}

	.box5_col5img{
		width: 90%;
		overflow: hidden;
		position: inherit;
		top: 0;
		left: 0;
		z-index: 1;
		text-align: center;
		margin: 0 auto;
	}

	.box5_col5img img{
		width: 100%;
	}
	/*-----------------------------------------------------
	box6
	-------------------------------------------------------*/
	.box6{
		width: auto;
		text-align: left;
		margin: 0 0 0;
		padding: 30px 0 36px;
		overflot:hidden;
		z-index: 0;
	}

	.box6in{
		width: auto;
        margin: 0 30px;
	}

	.box6 h2{
		text-align: left;
		font-size: 15px;
		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: 40px;
		font-weight: bold;
		font-family: din-2014, sans-serif;
		font-weight: 700;
		font-style: normal;
		display: block;
		margin: 0 0 16px;
		letter-spacing: 4px;
	}

	.box6in ul{
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		margin: 0 0 26px;
		gap: 16px 0;
	}

	.box6in ul li{
		width: 48.5%;
	}
	
	.box6in ul li .img {
		height: 100px;
	}

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

	.box6in ul li span.t {
		font-size: 14px;
	}
	
	/*-----------------------------------------------------
	box7
	-------------------------------------------------------*/
	.box7{
		width: auto;
		padding: 20px 0 36px;
	}
	
	.box7in{
		max-width: auto;
		margin: 0 20px;
	}

	.box7 h2{
		font-size: 5.2vw;
		margin: 0 10px 22px;
	}

	.box7in dl{
		gap: 12px;
		line-height: 1.6;
	}


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

	.box7in dl dt .text{
		padding: 12px 20px;
	}


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

	.box7in dl dd{
		padding: 12px 20px;
		margin-right: 16px;
	}

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

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

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

	.contact_in{
		width: auto;
		margin: 0 auto;
		padding: 36px 26px; 36px;
		position: relative;
		z-index: 3;
	}

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

	}

	.contact ul li{
		width: 100%;
		display: block;
		vertical-align: top;
		box-sizing: border-box;
		border-right: none;
		text-align: center;
	}

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


	.contact ul li.l a{
		font-size: 30px;
		display: inline-block;
		font-weight: bold;
		background: url("../images/index/tel.svg") no-repeat left top 1px;
		background-size: 16px;
		padding: 0 0 0 26px;
		margin: 0px 0 6px;
	}

	.contact ul li.l span{
		display: block;
		line-height: 1.5;
		font-size: 13px;
		margin: 0 0 12px;
	}

	.contact ul li.r a{
		display: inline-block;
		background: #fff;
		width: 80%;
		padding: 16px 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;
		font-size: 13px;
	}

	.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: 15px;
		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: 36px;
		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: 80%;
		text-align: center;
		display: block;
		background: #f2c819;
		border-radius: 4px;
	}

	.button1 a{
		display: block;
		padding: 16px 0;
		color: #222 !important;
		box-sizing: border-box;
		font-weight: bold;
		font-size: 14px;
		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: 36px 0 0 0;
		font-size: 14px;
	}

	.ft_boxin{
		width: auto;
		margin: 0 36px 26px;
		text-align: left;
		display:block;
		justify-content:space-between;
	}

	.ft_right{
		width: 100%;
		text-align: center;
		display: inline-block;
		vertical-align: top;
		padding: 0 0 0 0;
		box-sizing: border-box;
	}

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

	.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: auto;
		margin: 0 0 0 0;
		display: 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: 160px;
	}


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

	.ft_cp p{
		font-size: 10px;
		line-height: 1.5;
		color: #222;
	}


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

	#page-top {
		position: absolute;
		bottom: 0;
		right: 10px;
		z-index: 999;
		margin: 0 0 440px;
	}

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

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

	#page-top a img{
		width: 14px;
	}
    
    /*-----------------------------------------------------
    reCAPTCHA
    -------------------------------------------------------*/
    .grecaptcha-badge { visibility: hidden; }

    .recaptcha{
        width: 100%;
        box-sizing: border-box;
    }

    .recaptcha p{
    } 


    
    
}