
html{
	line-height:1.15;
    -webkit-text-size-adjust:100%;
	position: relative;
	line-break:strict;
    overflow-x: hidden;
}
main{display:block}
hr{box-sizing:content-box;
    height:0;
    overflow:visible}
pre{font-family:monospace,monospace;
    font-size:1em}
a{background-color:transparent}
abbr[title]{border-bottom:none;
    text-decoration:underline;
    text-decoration:underline dotted}
b,strong{font-weight:bolder}
code,kbd,samp{font-family:monospace,monospace;
    font-size:1em}
small{font-size:80%}
img{
	width:100%;
    height: auto;
	border-style:none;
}

*,*:before,*:after{-webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    -o-box-sizing:border-box;
    -ms-box-sizing:border-box;
    box-sizing:border-box}

body {
	position: relative;
	margin: 0;
	font-family:'gill-sans-nova', 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
    font-style:normal;
    color:#000;
    letter-spacing:.1em;
    text-rendering:optimizeLegibility;
    font-feature-settings:"palt" 1;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale
}

.sp {
  display: none!important;
}
h1{
	width:168px;
	margin:0;
}
h2 {
	width: 100%;
	margin: 0 auto;
	padding-left:4px;
	font-size:80px;
	font-weight:400;
	color:#0D277D;
	border-bottom:solid #ABBAEB 1px;
    line-height: .825;
    letter-spacing: .1em;
    display: flex;
    align-items:center;
}
h2 span{
	margin-left:12px;
	font-size:17px;
    letter-spacing: .1em;
}
h3 {
    width:312px;
    margin: 0 auto;
    padding: 0.8% 0;
    color: #0D277D;
    font-size: 32px;
    font-weight: 500;
    line-height: 0.9;
    letter-spacing: .12em;
    display: inline-block;
    position: relative;
}
h3 span{
	font-size:15px;
    letter-spacing: .07em;
	opacity:.75;
}
h3:before, h3:after{
	content:'';
	position: absolute;
	top: 0;
	width: 8px;
	height: 100%;
	display: inline-block;
}
h3:before{
	border-left: solid 2px #ABBAEB;
	border-top: solid 2px #ABBAEB;
	border-bottom: solid 2px #ABBAEB;
	left: 0;
}
h3:after{
	border-top: solid 2px #ABBAEB;
	border-right: solid 2px #ABBAEB;
	border-bottom: solid 2px #ABBAEB;
	right: 0;
}
h4{
	margin:0 auto 4%;
	padding: 0 0 0 52px;
    color: #0D277D;
    font-size: 28px;
    font-weight: 500;
    line-height: 0.9;
    letter-spacing: .12em;
    display: inline-block;
    position: relative;
}
h4:before{
	content:'';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 28px;
    height: 2px;
    background-color: #ABBAEB;
}

ul{margin:0}
a{color:#000;
    text-decoration:none;
    overflow:hidden;
    outline:none;
    line-height:1.8;
	word-wrap: break-word;
	transition: 0.5s;
}
a:focus,*:focus{outline:none}
a:link{-webkit-tap-highlight-color:rgba(204,204,204,.4)}
::-moz-selection{background:#000;
    color:#fff;
    text-shadow:none;}
::selection{background:#000;
    color:#fff;
    text-shadow:none;}
ul,dl{margin:0;
    padding:0}
li{list-style:none;}
p{
	margin:0;
    line-height:1.9;
	word-wrap: break-word;
    letter-spacing: .2em;
	text-align:justify;
}

img{vertical-align:top}


.inner1520{
	width:92%!important;
	max-width:1520px;
	margin:0 auto;
}
.content_ttl{
    width: 100%;
    margin-bottom: 4.8%;
	text-align:center;
}
.content_link{
    margin-top: 4.8%;
	text-align:center;
}
.view_all{
	padding:12px 40px;
	display:inline-block;
	border-bottom:solid 1px #ABBAEB;
	letter-spacing:.75em;
	color:#0D277D;
    box-sizing: border-box;
	overflow:auto;
}
.view_all:hover{
	letter-spacing:1em;
}

/* ふわっjs 　*/
.fadeUpTrigger,.fadeUpTrigger2{
	opacity: 0;
}

.fadeUp{
	animation-name:fadeUpAnime;
	animation-duration:1.5s;
	animation-fill-mode:forwards;
	opacity:0;
}
.fadeUp2{
	animation-name:fadeUpAnime2;
	animation-duration:2.5s;
	animation-fill-mode:forwards;
	opacity:0;
}

@keyframes fadeUpAnime{
	from {
		opacity: 0;
		transform: translateY(100px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes fadeUpAnime2{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/* ふわっjs 　*/

/*背景色が伸びて出現*/
.bgextend{
	animation-name:bgextendAnimeBase;
	animation-duration:1s;
	animation-fill-mode:forwards;
	position: relative;
	overflow: hidden;/*　はみ出た色要素を隠す　*/
	opacity:0;
}
@keyframes bgextendAnimeBase{
	from {
	  opacity:0;
	}
	to {
		opacity:1;  
	}
}

/*中の要素*/
.bgappear{
	animation-name:bgextendAnimeSecond;
	animation-duration:1s;
	animation-delay: 0.6s;
	animation-fill-mode:forwards;
	opacity: 0;
}
@keyframes bgextendAnimeSecond{
	0% {
	  opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
/*左から右*/
.bgLRextend::before{
	animation-name:bgLRextendAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color:#0d277d;/*伸びる背景色の設定*/
	top:0;
    left: 0;
}
@keyframes bgLRextendAnime{
	0% {
		transform-origin:left;
		transform:scaleX(0);
	}
	50% {
		transform-origin:left;
		transform:scaleX(1);
	}
	50.001% {
		transform-origin:right;
	}
	100% {
		transform-origin:right;
		transform:scaleX(0);
	}
}



/* header */
header{
    width: 97%;
	max-width:1600px;
	margin:0 auto;
	padding:22px 0;
	display:flex;
	justify-content: space-between;
	align-items:center;
}
header h1 a{
	display: contents;
}
header .menu {
	display:flex;
	justify-content: space-between;
	align-items:center;
}
header .menu li{
    display: flex;
    align-items: center;
}
header .menu li:after{
	content:"／";
	padding:0 16px;
	font-size: 18px;
	font-weight:bold;
	line-height: 1;
}
header .menu li a{
	margin:0;
	font-size:20px;
	color:#0D277D;
	display:inline-block;
	font-weight:500;
	text-align:center;
	letter-spacing:.12em;
	line-height:1.1;
}
header .menu li a span{
	font-size:14px;
	font-family:'Noto Sans JP', sans-serif;
}
header .menu a.head_btn{
	padding:15px 24px;
	font-size:18px;
	display:inline-block;
	background:#0D277D;
	color:#fff;
	border-radius:32px;
	letter-spacing:.12em;
	line-height:1;
}
header .menu a.head_btn:hover{
	color:#0D277D;
	background:#dde5ff;
}
header .menu a.head_sns{
	width:40px;
	margin-left:16px;
}
header .menu a.head_sns:hover{
	opacity:.75;
}
.copy{
	width:100%;
    padding: 16px 4px 12px;
	color:#0D277D;
	font-size:16px;
    font-weight: 500;
	text-align:center;
	line-height:1.6;
    letter-spacing: .125em;
	background:#F3F5FC;
}
.link_btn{
	width:10vw;
    min-width: 120px;
	position:fixed;
	top:14vh;
	right:2vw;
	z-index:2;
}
.line_contact{
	padding: 24px;
	display:flex;
	align-items:center;
	border-radius:40px;
	background:#fff;
	border:solid #06C755 1px;
	position:fixed;
	right:2vw;
	bottom:2vw;
	z-index:99999;
}
.line_contact:hover{
	background:#06C755;
}
.line_contact img{
	width:30px;
	margin-right:12px;
}
.line_contact p{
	color:#06C755;
	padding-right: 64px;
	font-size: 17px;
	line-height: 1;
	letter-spacing: .075em;
	position: relative;
}
.line_contact:hover p{
	color:#fff;
}
.line_contact p:after{
	content:"";
	display:block;
	width: 48px;
	height: 48px;
	margin: auto;
	background:url("../img/svg/line_btn.svg");
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
}
.line_contact:hover p:after{
	background:url("../img/svg/line_btn2.svg");
}
/* header */



/* ハンバーガーメニュー */
.gnav_sp{display: none;}
.hamburger{ position:fixed; right:0; top:0; z-index:999; line-height: 0; padding: 26px 2.4vw;}
.menu-trigger,.menu-trigger span{ display:inline-block; transition:all .5s; box-sizing:border-box; margin:0 auto;}
.menu-trigger{ position:relative; width:35px; height:32px; cursor:pointer;}
.menu-trigger span { position:absolute; left:0; width:100%; height:3px; border-radius:3px;  background-color:#1D4165;}
.menu-trigger span:nth-of-type(1) { top:0;}
.menu-trigger span:nth-of-type(2) { top:15px;}
.menu-trigger span:nth-of-type(3) { bottom:0;}

.menu-trigger.active span:nth-of-type(1) { -webkit-transform:translateY(10px) rotate(-45deg); transform:translateY(10px) rotate(-45deg); width:100%;}
.menu-trigger.active span:nth-of-type(2) { opacity:0; width:100%;}
.menu-trigger.active span:nth-of-type(3) { -webkit-transform:translateY(-18px) rotate(45deg); transform:translateY(-18px) rotate(45deg); width:100%;}

.menu-trigger p{ position:absolute; left:25px; font-weight:bold;}

/* ハンバーガーメニュー内容 折り畳まれ部分 */

#navigation{position:relative;display:none;width:100%;height:100vh;padding: 18vw 0 0;background-color: #f3f5fc;position:absolute;top:0;left:0;z-index:3;overflow-y:scroll;}
#navigation::-webkit-scrollbar {display:none;}
#navigation .navigation_inner{display: table;width:100%;height: 100%;overflow: scroll;}
#navigation .navigation_inner .navigation_menu{display:flex;flex-wrap:wrap;justify-content:space-between;}

#navigation .navigation_inner .navigation_menu li{width:100%;border-top: 1px solid #1d2089;}
#navigation .navigation_inner .navigation_menu li:last-child{border-bottom:1px solid #1d2089;}
#navigation .navigation_inner .navigation_menu li a{padding:7vw 5vw;font-size:5.6vw;line-height:1;display:block;color: #1d2089;}
#navigation .navigation_inner .navigation_menu li a span{font-size:3.3vw;}




.main{
	width:100%;
	padding:4% 0 7%;
	background:url("../img/bg1.jpg") no-repeat;
	background-size:cover;
	position:relative;
}
.main:after{
	content:"";
	width:100%;
	height:165px;
	display:block;
	background:url("../img/hude1.png") bottom center;
	background-size:cover;
	position:absolute;
	bottom:-4px;
}
.main .slide_img{
	width:94%;
	max-width:1520px;
	margin:0 auto;
    z-index: 2;
}
.main .slide_img li{
	position:relative;
}
.main .slide_img li a{
	display:block;
}
.main .slide_img li a:hover img{
	opacity:.75;
	transition: 0.5s;
}
.main .slide_img li .slide_name{
	padding:11px 40px;
	display:inline-block;
	background:#fff;
	font-size:20px;
	letter-spacing:.125em;
	position:absolute;
	left:0;
	bottom:0;
    line-height: 1.75;
}
.main .slide_img li a:hover .slide_name{
	background:#0D277D;
	color:#fff;
	transition: 0.5s;
}
.main .slide_img li .slide_link{
	padding:14px 40px;
	display:inline-block;
	background:#0D277D;
	color:#fff;
	position:absolute;
	right:0;
	bottom:0;
}
.main .slide_img li .slide_link:before{
    content: '';
    position: absolute;
    top: 50%;
    left: -14px;
    transform: translateY(-50%);
    width:28px;
    height: 2px;
    background-color: #ABBAEB;
    transition: 0.3s;
}
.main .slide_img li a:hover .slide_link{
	background:#F3F5FC;
	color:#0D277D;
	transition: 0.5s;
}
.main .slide_img li a:hover .slide_link:before{
    left: -21px;
	background:#0D277D;
}


/*info*/
.info{
	margin-top:100px;
}
.info_box li{
	width:100%;
	border-bottom:solid #ABBAEB 1px;
}
.info_box li .info_ttl{
	width:100%;
	padding:44px 3%;
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
}
.info_box li a.info_ttl:hover{
	background:#F3F5FC;
}
.info_box li .info_ttl .info_days{
	width:100px;
	text-align:center;
}
.info_box li .info_ttl p{
	width:calc( 100% - 100px - 3% );
}
.info_box li p.the_content{
	padding:0 3% 4%;
	width:100%;
}
/*info*/

/*lineup*/
.lineup{
	padding:300px 0 160px;
	background:url("../img/bg_lineup.jpg") no-repeat center;
	background-size:90%;
}
.lineup_box{
	display:flex;
	flex-wrap:wrap;
}
.lineup_box li{
	width:calc( 100% / 3 - 80px / 3  );
    margin-right: 40px;
    margin-bottom: 40px;
	position:relative;
}
.lineup_box li:nth-child(3n),
.lineup_box li:last-child{
	margin-right:0;
}
.lineup_box li .lineup_img{
	position:relative;
	line-height: 1;
	display: block;
	overflow: inherit;
}
.view_more{
	width: 180px;
	padding:14px 40px;
	background:#0D277D;
	color:#fff;
	position: absolute;
	right: 0;
	bottom: -22px;
	text-align: center;
}
.view_more:before{
    content: '';
    position: absolute;
    top: 50%;
    left: -14px;
    transform: translateY(-50%);
    width:28px;
    height: 2px;
    background-color: #ABBAEB;
    transition: 0.3s;
}
.lineup_box li:hover .lineup_img .view_more{
	background:#F3F5FC;
	color:#0D277D;
	transition: 0.5s;
}
.lineup_box li:hover .lineup_img .view_more:before{
    left: -21px;
	background:#0D277D;
}
.lineup_box li:hover .lineup_img img{
	opacity:.75;
	transition: 0.5s;
}
.lineup_box li .lineup_ttl{
	margin-top: 28px;
	display: block;
	font-size:24px;
	line-height: 1.3;
}
.lineup_box li .product_ttl{
	margin-top: 28px;
	display: block;
	font-size:18px;
	line-height: 1.3;
}
.lineup_box li:hover .lineup_ttl,
.lineup_box li:hover .product_ttl{
	color:#0D277D;
}
.lineup_box li .lineup_ttl span,
.lineup_box li .product_ttl span{
	font-size:14px;
	display: block;
	line-height:1.75;
}
.lineup_box li:hover .lineup_ttl,
.lineup_box li:hover .product_ttl{
	opacity:.75;
}
/*lineup*/

/*banner*/
.banner{
	width:100%;
	margin-top:8%;
	padding:9.2% 0 7%;
	background:url("../img/bg_banner.jpg") no-repeat;
	background-size:cover;
	position:relative;
}
.banner:before{
	content:"";
	width:100%;
	height:136px;
	display:block;
	background:url("../img/hude2.png") bottom center no-repeat;
	background-size:cover;
	position:absolute;
	top:-4px;
}
.banner1_area a.banner1{
	width:100%;
	margin-bottom:40px;
	display:block;
}
.banner2_area{
	display:flex;
	flex-wrap:wrap;
}
.banner2_area a.banner2{
	width:calc( 100% / 3 - 80px / 3  );
	margin-right:40px;
	margin-bottom:24px;
}
.banner2_area a.banner2:nth-child(3n),
.banner2_area a.banner2:last-child{
	margin-right:0;
}
.banner1_area a.banner1:hover,
.banner2_area a.banner2:hover{
	opacity:.75!important;
	transition: 0.5s;
}
/*banner*/


/*flow*/
.flow{
	width:100%;
	padding:80px;
	min-height:520px;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	text-align:center;
	overflow: hidden;
	position: relative;
}
.flow img.bg_flow{
	width:100%;
	margin: auto;
	position:absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	transition:0.5s all;
}
.flow:hover img.bg_flow{
	transform:scale(1.1,1.1);
	filter: blur(3px);
}
.flow_content{
	width:100%;
}
.flow_content h3{
	color:#fff;
}
.flow_content h3:before,
.flow_content h3:after{
    border-color: #fff;
}
.flow_content h3 span{
	opacity:.75;
}
.flow_link{
	width: 180px;
	padding:14px 40px;
	background:#fff;
	color:#0D277D;
    overflow: inherit;
	position:relative;
}
.flow_link:before{
    content: '';
    position: absolute;
    top: 50%;
    left: -14px;
    transform: translateY(-50%);
    width:28px;
    height: 2px;
    background-color: #0D277D;
    transition: 0.3s;
}
.flow:hover .flow_link{
	background:#0D277D;
	color:#fff;
	transition: 0.5s;
}
.flow:hover .flow_link:before{
    left: -21px;
	background:#ABBAEB;
}
/*flow*/

/*seminar*/
.seminar{
	padding:200px 0 160px;
	position:relative;
	overflow:hidden;
}
.seminar:before{
	content:"";
    width: 64%;
    height: 60%;
	background:url("../img/bg_seminar.jpg") center no-repeat;
	background-size:contain;
	position:absolute;
	right:-10%;
	top:-10%;
	z-index:-1;
}
.seminar_box{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.seminar_box li{
	width:calc( 100% / 3 - 80px / 3  );
	position:relative;
}
.seminar_box li .seminar_img{
	position:relative;
	line-height: 1;
	display: block;
	overflow: inherit;
}
.seminar_box li .seminar_img:hover .view_more{
	background:#F3F5FC;
	color:#0D277D;
	transition: 0.5s;
}
.seminar_box li .seminar_img:hover .view_more:before{
    left: -21px;
	background:#0D277D;
}
.seminar_box li .seminar_img:hover img{
	opacity:.75;
	transition: 0.5s;
}
.seminar_box li .seminar_ttl{
	margin-top:32px;
	display: block;
	font-size:16px;
	line-height: 1.6;
}
.seminar_box li .seminar_ttl:hover{
	opacity:.75;
}
/*seminar*/

/*instagram*/
.instagram{
	margin:96px auto 212px;
	position:relative;
}
.instagram:before{
    content: "";
    width: 64%;
    height: 72%;
    background: url(../img/bg_instagram.jpg) center no-repeat;
    background-size: contain;
    position: absolute;
    left: -10%;
    top: -16%;
    z-index: -1;
}
.instagram h3{
	color:#FB4E5F;
}
.instagram h3:before,
.instagram h3:after{
    border-color:#FFC8CD;
}
.instagram .insta_area{
	width:100%;
	max-width:1128px;
	margin:0 auto;
}
.instagram .view_all{
	border-bottom:solid 2px #FFC8CD;
	color:#FB4E5F;
}
/*instagram*/


/*footer*/
footer {
	padding:10vw 0 8vw;
	position:relative;
	text-align:center;
	background:url("../img/bg1.jpg") no-repeat;
	background-size:cover;
}
footer:before{
	content:"";
	width:100%;
	height:136px;
	display:block;
	background:url("../img/hude2.png") bottom center no-repeat;
	background-size:cover;
	position:absolute;
	top:-4px;
}
footer h3{
	color:#fff;
}
footer h3:before,
footer h3:after{
    border-color:#fff;
}
footer p {
	text-align:center;
}
footer .ft_menu_img {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	text-align:center;
	justify-content:space-between;
}
footer .ft_menu_img a{
	width:48.5%;
	height:400px;
	max-height:24vw;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	text-align:center;
	overflow: hidden;
	position: relative;
}
footer .ft_menu_img a img{
	width:100%;
	margin: auto;
	position:absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	transition:0.5s all;
}
footer .ft_menu_img a:hover img{
	transform:scale(1.2,1.2);
	filter: blur(4px);
}
footer .ft_sns{
	width:100px;
	margin:100px auto 56px;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
}
footer .ft_sns img{
	width:40px;
}
footer .ft_menu{
	width:400px;
	margin:0 auto 96px;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
}
footer .ft_menu li a{
	color:#0D277D;
	font-size:17px;
}
/*footer*/


/*page_info*/
.page_info{
	margin-bottom:160px;
}
/*page_info*/

/*page_lineup*/
.page_lineup .lineup{
	padding-top:100px;
}
.page_lineup .lineup_box li{
	margin-bottom:3%;
}
/*page_lineup*/

/*page_seminar*/
.page_seminar .seminar{
	padding-top:100px;
}
.page_seminar .seminar_box li{
	margin-bottom:3%;
}
/*page_info*/

/*page_flow*/
.page_flow{
	margin-top:100px;
}
.page_flow .content_ttl{
	margin-bottom:0;
}
.page_flow .flow{
    min-height:412px;
	margin-bottom:64px;
}
.page_flow .flow:hover img.bg_flow{
	transform:none;
	filter: none;
}
.page_flow .flow_box{
	width: 100%;
	padding:4%;
	margin-bottom:160px;
	background:#F3F5FC;
}
.page_flow .flow_box .step_box{
	margin-bottom:6%;
	display:flex;
    flex-wrap: wrap;
	justify-content:space-between;
	background:#fff;
	position:relative;
}
.page_flow .flow_box .step_box:last-child{
	margin-bottom:0;
}
.page_flow .flow_box .step_box:before{
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	border-top: 48px solid #0d277d;
	border-right: 120px solid transparent;
	border-left: 120px solid transparent;
}
.page_flow .flow_box .step_box:last-child:before{
	content:none;
}
.page_flow .flow_box .step_box .step{
	width:176px;
    padding-left: 0.5em;
	display:flex;
	align-items:center;
	justify-content:center;
	background:#0D277D;
}
.page_flow .flow_box .step_box .step p{
	width:100%;
	font-size:76px;
	text-align:center;
	line-height:1;
	letter-spacing:.1em;
	color:#fff;
}
.page_flow .flow_box .step_box .step p:first-child{
	font-size:26px;
    letter-spacing: .25em;
}
.page_flow .flow_box .step_box .step_txt{
	width:calc( 100% - 176px );
	padding:4%;
	font-size:16px;
}
.page_flow .flow_box .step_box .step_txt .step_ttl{
	margin-bottom:8px;
	font-size:24px;
	font-weight:600;
    letter-spacing: .125em;
	color:#0D277D;
}
.page_flow .flow_box .step_box .step_txt a{
	margin-top:10px;
	padding:16px 20px;
	display:inline-block;
	border-radius:40px;
	border:solid #0D277D 1px;
	color:#0D277D;
	line-height:1;
}
.page_flow .flow_box .step_box .step_txt a:hover{
	background:#0D277D;
	color:#fff;
}
/*page_flow*/

/*page_company*/
.page_company{
	margin-top:100px;
}
.company_box {
	margin-bottom:160px;
}
.company_box li{
	width:100%;
	padding:44px 3%;
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	border-bottom:solid #ABBAEB 1px;
}
.company_box li .company_h{
	width:100px;
	font-weight:600;
	text-align:center;
}
.company_box li p{
	width:calc( 100% - 100px - 3% );
	text-align:left;
}
.company_box li p a{
	color:#0D277D;
	text-decoration:underline;
}
.company_box li p a:hover{
	opacity:.7;
}
.company_box li iframe{
	margin-top: 28px;
}
/*page_company*/


/*page_brand*/
.brand{
    overflow: hidden;
}
.brand_main{
	width:94%;
	max-width:1520px;
	margin:4% auto 8%;
    z-index: 2;
	position:relative;
}
.brand_main:after{
    content: "";
    width: 64%;
    height: 80%;
    background: url(../img/bg_page.jpg) center no-repeat;
    background-size: contain;
    position: absolute;
    right: -24%;
    bottom: -48%;
    z-index: -1;
}
.brand_main .brand_name{
	padding:11px 40px;
	display:inline-block;
	background:#fff;
	font-size:20px;
	letter-spacing:.125em;
	position:absolute;
	left:0;
	bottom:0;
    line-height: 1.75;
}
.brand_box{
	margin-bottom:160px;
    position: relative;
    z-index: 2;
}
.brand_box .brand_txt {
	margin:0 auto 10%
}
.brand_box .brand_txt .brand_copy{
	margin-bottom:24px;
	font-size:24px;
	font-weight:bold;
}
.brand_box .brand_txt p{
	font-size:15px;
    line-height: 2.4;
}
.brand_box .lineup_box li{
	margin-bottom:40px;
}
/*page_brand*/

/*page_product*/
.product{
	padding-top:100px;
	background:url("../img/bg_page2.jpg") top no-repeat;
    background-size: 100%;
}
.product_main{
	margin-bottom:100px;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
}
.product_main_img{
	width:48.5%;
}
.product_txt{
	width:48.5%;
}
.product_txt .product_name{
	margin-bottom:16px;
	font-size:28px;
    line-height: 1.5;
	color:#0D277D;
}
.product_txt .product_copy{
	margin-bottom:16px;
	font-size:18px;
	font-weight:600;
    line-height: 1.9;
	color:#444444;
}
.product_txt p{
	font-size:14px;
	line-height:2.2;
}
.product_txt a.contact_btn{
	width: 180px;
    margin-top:24px;
    margin-left: calc(100% - 180px);
	padding:14px 40px;
	background:#0D277D;
	color:#fff;
	display:inline-block;
	position: relative;
	text-align: center;
    overflow: inherit;
}
.product_txt a.contact_btn:before{
    content: '';
    position: absolute;
    top: 50%;
    left: -14px;
    transform: translateY(-50%);
    width:28px;
    height: 2px;
    background-color: #ABBAEB;
    transition: 0.3s;
}
.product_txt a.contact_btn:hover{
	background:#F3F5FC;
	color:#0D277D;
	transition: 0.5s;
}
.product_txt a.contact_btn:hover:before{
    left: -21px;
	background:#0D277D;
}
.product_gallery{
	padding-bottom:160px;
}
.product_gallery .gallery_img{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
}
.product_gallery .gallery_img img{
	width:48.5%;
	margin-bottom:40px;
	border:solid #e5e5e5 1px;
}
.product_gallery .gallery_txt{
	width:100%;
	margin-bottom:80px;
}
.product_gallery .gallery_txt p{
	font-size:14px
}
/*page_product*/

@media screen and (max-width: 1280px){
	h1{
		width:148px;
	}
	header .menu li:after{
    	padding: 0 14px;
		font-size:16px;
	}
	header .menu li a{
		font-size:18px;
	}
	header .menu li a span{
		font-size:13px;
	}
	header .menu a.head_btn{
		padding:12px 20px;
		font-size:18px;
	}
	header .menu a.head_sns{
		width:32px;
    	margin-left: 14px;
	}
	
/*page_flow*/
	.page_flow .flow_box .step_box:before{
		border-top: 3.2vw solid #0d277d;
		border-right: 7.6vw solid transparent;
		border-left: 7.6vw solid transparent;
	}
/*page_flow*/
}

@media screen and (max-width: 1124px){
	h3{
        width: 32vw;
        font-size: 3.2vw;
	}
	h3 span{
		font-size:1.8vw;
	}
	.gnav_sp{display: block;}
	header .menu{
		display:none;
	}
}


@media screen and (max-width: 1024px){
	.view_more{
    	width: 144px;
    	padding: 12px 24px;
    	font-size: 14px;
    	bottom: -18px;
	}
	.view_more:before{
    	left: -10px;
    	width: 20px;
	}
	.lineup_box li:hover .lineup_img .view_more:before{
		left: -16px;
		background:#0D277D;
	}
}

@media screen and (max-width: 640px){
	
	.pc {display: none!important;}
	.sp {display: block!important;}
	
	h1{
		width:38vw;
	}
	h2{
		font-size:10.64vw;
	}
	h2 span{
		font-size:3.4vw;
	}
	h3{
        width: 64vw;
        padding: 2vw 2vw;
		margin-bottom:3vw;
        font-size: 6vw;
        line-height: 1.1;
	}
	h3 span{
		font-size:3.6vw;
	}
	h4{
		margin:0 auto 3.6vh;
    	padding: 0 0 0 9vw;
		font-size:4.12vw;
	}
	h4:before{
		width:5vw;
	}
	p{
		font-size:3.5vw;
	}
	.content_link{
		margin-top:5vh;
	}
	.view_all{
		font-size:3.5vw;
	}
	.view_more{
		width:auto;
		font-size:3.5vw;
	}
	
	header{
		width:100%;
        padding: 4.4vw 4vw;
		background:#fff;
		position:fixed;
		top:0;
		left:0;
		z-index:3;
	}
	.hamburger{
    	padding: 5.8vw 4vw;
	}
	
	
	.copy{
		margin-top:18vw;
        padding: 4vw 1vw 3vw;
        font-size: 3.3vw;
	}
	.line_contact{
		padding:4vw 4.8vw;
	}
	.line_contact img{
		width:8vw;
	}
	.line_contact p{
		font-size:3.8vw;
	    padding-right: 13vw;
	}
	.line_contact p:after{
		width: 10vw;
    	height: 10vw;
	}
	
	.main{
        padding: 8.64vw 0 10.24vw;
	}
	.main .slide_img li .slide_name{
        padding: 3vw 5vw;
        font-size: 3.5vw;
        bottom: 18.2vw;
	}
	.main .slide_img li .slide_link{
        width: 40vw;
        margin-top: 6vw;
        margin-left: 53.5vw;
        padding: 3vw 5vw;
        font-size: 3.5vw;
        position: relative;
        text-align: center;
	}
	.main .slide_img li .slide_link:before{
        width: 6.4vw;
        left: -3.2vw;
	}
	.main .slide_img .slick-dots{
		bottom:-10vw;
	}
	
	/*info*/
	.info{
		margin-top:6.4vh;
	}
	.info_box li a .info_days{
		text-align: left;
	}
	.info_box li .info_ttl{
		padding:7.2vw 4%;
        font-size: 3.4vw;
	}
	.info_box li .info_ttl .info_days{
		width:100%;
		text-align: left;
	}
	.info_box li .info_ttl p{
		width:100%;
	}
	.info_box li p.the_content{
	    padding: 0 4% 7.2vw;
	}
	/*info*/
	
	/*lineup*/
	.lineup {
		padding:16vh 0 8vh;
		background-size:150%;
	}
	.lineup_box li{
		width:100%;
        margin-bottom: 7vw!important;
		margin-right:0;
	}
	.lineup_box li:nth-child(3){
        margin-bottom:0;
	}
	.lineup_box li .lineup_ttl{
        margin-top:7.6vw;
		font-size:5.6vw;
	}
	.lineup_box li .product_ttl{
        margin-top:7.6vw;
		font-size:4vw;
	}
	.lineup_box li .lineup_ttl span{
		font-size:3.2vw;
	}
	/*lineup*/
	
	
	/*banner*/
	.banner{
		padding:10vh 0 8vh;
	}
	.banner1_area a.banner1{
        width:100%;
        margin: 0 auto 4vw;
	}
	.banner2_area a.banner2{
        width: 88%;
        margin: 0 auto 4vw;
	}
	.banner2_area a.banner2:nth-child(3n), .banner2_area a.banner2:last-child{
        margin: 0 auto 4vw;
	}
	/*banner*/
	
	/*flow*/
	.flow{
		padding:12vw 2vw;
        min-height: auto;
	}
	.flow img.bg_flow{
		width:140%;
    	left: -20%;
	}
	.flow_link{
		width: auto;
		display:inline-block;
        padding: 2.8vw 11.2vw;
	}
	.flow_link:before{
		left: -3.4vw;
		width:6.8vw;
	}
	.flow:hover .flow_link:before{
		left: -5.6vw;
	}
	/*flow*/
		
	/*seminar*/
	.seminar{
		padding:12vh 0 14.4vh;
	}
	.seminar:before{
        width: 70%;
        height: 60vw;
        top: -2%;
	}
	.seminar_box li{
		width:100%;
		margin-bottom:7vw!important;
	}
	.seminar_box li:nth-child(3){
        margin-bottom:0;
	}
	.seminar_box li .seminar_ttl{
		margin-top:6vw;
		font-size:3.8vw;
	}
	/*seminar*/
	
	/*instagram*/
	.instagram{
		margin:0 0 10vh;
	}
	.instagram:before{
        width: 70%;
        height: 60vw;
        top: -6%;
	}
	/*instagram*/
	
	
	/*footer*/
	footer{
		padding:12vh 0 10vh;
	}
	footer h3{
		margin-bottom:0;
	}
	footer .ft_menu_img a {
        width: 100%;
        padding:15vw 0;
		margin-bottom:4.8vw;
		max-height:48vw;
    }
	footer .ft_sns{
		margin:6vh auto 4vh;
	}
	footer .ft_menu{
		width:86%;
		margin:0 auto 4vh;
	}
	footer .ft_menu li a{
		font-size:3.5vw;
	}
	/*footer*/
	
	/*page_info*/
	.page_info{
		margin-bottom:10vh;
	}
	/*page_info*/
	
	/*page_info*/
	.page_lineup .lineup{
		padding-top:6vh;
	}
	/*page_info*/
	
	/*page_flow*/
	.page_flow{
		margin-top:6.4vh;
	}
	.page_flow .flow{
    	min-height: 28vh;
    	margin-bottom: 4vh;
	}
	.page_flow .flow_box{
		margin-bottom:8vh;
	}
	.page_flow .flow_box .step_box{
		margin-bottom:6vw;
	}
	.page_flow .flow_box .step_box .step{
		width:100%;
	}
	.page_flow .flow_box .step_box .step .step_no{
		padding:3vw;
		display:flex;
		justify-content:center;
	}
	.page_flow .flow_box .step_box .step p{
		font-size:4.64vw;
	}
	.page_flow .flow_box .step_box .step p:first-child{
		font-size:4.64vw;
	}
	.page_flow .flow_box .step_box .step_txt{
		width:100%;
	}
	.page_flow .flow_box .step_box .step_txt .step_ttl{
		font-size:4.8vw;
	}
	.page_flow .flow_box .step_box .step_txt p{
		font-size:3.4vw;
	}
	.page_flow .flow_box .step_box .step_txt a{
        margin-top: 2vw;
        padding: 3.6vw 4.8vw;
        font-size: 3.3vw;
	}
	/*page_flow*/
	
	/*page_seminar*/
	.page_seminar .seminar{
        padding: 12vh 0 9.6vh;
	}
	.seminar_box li .seminar_ttl{
        margin-top:7.6vw;
		font-size:3.7vw;
	}
	/*page_seminar*/
	
	/*page_company*/
	.page_company{
		margin-top:6.4vh;
	}
	.company_box{
    	margin-bottom:8vh;
	}
	.company_box li{
		padding:7.2vw 3%;
        font-size: 3.4vw;
	}
	.company_box li .company_h{
		font-size:3.7vw;
		text-align: left;
	}
	.company_box li p{
		width:100%;
		font-size:3.4vw;
	}
	.company_box li iframe{
		margin-top:2.64vh;
		height:33vh;
	}
	/*page_company*/
	
	/*page_brand*/
	.brand_main:after{
		width: 100%;
		height: 100%;
		right: -24%;
		bottom: -80%;
	}
	.brand_main .brand_name{
        padding: 3vw 5vw;
        font-size: 3.5vw;
	}
	.brand_box {
		margin-bottom: 8vh;
	}
	.brand_box .brand_txt{
		margin:0 auto 8vh;
	}
	.brand_box .brand_txt .brand_copy{
		margin-bottom:4.2vw;
		font-size:4.2vw;
	}
	.brand_box .brand_txt p{
        font-size: 3.3vw;
        letter-spacing: .1em;
	}
	/*page_brand*/
	
	/*page_product*/
	.product{
        padding-top: 6.4vh;
	}
	.product_main{
		margin-bottom:4.8vh;
	}
	.product_main_img{
		width:100%;
		margin-bottom:2.4vh;
	}
	.product_txt{
		width:100%;
	}
	.product_txt .product_name{
		font-size:5.2vw;
    	margin-bottom: 3vw;
	}
	.product_txt .product_copy{
		font-size:3.6vw;
    	margin-bottom: 3vw;
	}
	.product_txt p{
		font-size:3.3vw;
	}
	.product_gallery{
		padding-bottom:8vh;
	}
	.product_gallery .gallery_img img{
		width:100%;
		margin-bottom:2.4vh;
	}
	.product_gallery .gallery_txt{
		margin-bottom:5.6vh;
	}
	.product_gallery .gallery_txt p{
		font-size:3.3vw;
	}
	.product_txt a.contact_btn{
    	margin-top: 2vh;
	    padding: 3.3vw 4vw;
	}
	/*page_product*/
}


