@charset "utf-8";

/*
============================================================
ベースアップコース　2026　260207
============================================================
*/

.main{
	width: 100%;
	overflow: hidden;
}

/* ---------------------------------------------------------
■ firstview
--------------------------------------------------------- */
#mv_area{
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
#mv_area h1{
	line-height:0;
}
#mv_area img{
  width: 100%;
}


/* ---------------------------------------------------------
■ ヘッダー
--------------------------------------------------------- */

header {
	position:sticky;
	top:0;
    width: 100%;
    height: auto;
    margin: 0 auto;
    text-align: center;
    background-color: #002b69;
    overflow: hidden;
    padding: 5px;
	z-index:20;
}


header img{
	width: 85%;
	max-width: 877px;
	margin: auto;
}

.head-02.open {
  transform: translateX(70%);
  visibility: visible;
}
.lp-header__trigger.open span:nth-child(1) {transform: rotate(45deg);}
.lp-header__trigger.open span:nth-child(2) {opacity: 0;}
.lp-header__trigger.open span:nth-child(3) {transform: rotate(-45deg);}

.head-wrap {position: relative;}
.head-nav {
  display: flex;
  align-items: center;
  max-width: 1100px;
  margin: 0 auto;
}
.head-nav img {
  margin: 0 auto;
  display: block;
}
.head-items {
  display: flex;
  list-style: none;
  color: #ffffff;
  padding: 0;
  margin: 0 0 0 auto;
}
.head-items li {
  margin-right: 3em;
}
@media screen and (max-width: 1000px) {
  .head-items li {
    margin-right: 1.5em;
  }
}

.head-items a {
  text-decoration: none;
  color: #ffffff;
}
.head-items a:hover {
  color: #c6c6c6;
}
.lp-header__trigger {
  position: absolute;
  z-index: 5;
  top: 16px;
  right: 10px;
  background: none;
  border: none;
  padding: 0;
  height: 24px;
  cursor: pointer;
  margin: 0 0 0 auto;
  display: none;
}
.lp-header__trigger span {
  display: block;
  width: 22px;
  height: 2px;
  background: #e6e6e6;
  margin-bottom: 7px;
  transform-origin: center left;
  border-radius: 1px;
  transition: all 600ms ease;
}
.lp-header__trigger.open span{
  width: 25px;
}

.head-02 {
  width: 100%;
  transform: translateX(100%);
  position: fixed;
  background: rgba(0, 0, 0, 0.8);
  padding-top: 50px;
  padding-bottom: 21px;
  top: 0;
  right: 0;
  height: 100vh;
  z-index: 1;
  transition: all 600ms ease;
  visibility: hidden;
}
.head-02__wrap {
  padding: 0 10px;
}
.head-02 hr {
  margin: 0;
  border: none;
  border-top: 1px solid #888888;
  background: transparent;
}
.head-02__item {
  display: flex;
  align-items: center;
  position: relative;
  padding-right: 33%;
  color: #c6c6c6!important;
  padding: 17px;
}

.head-nav .head-logo{
  margin-left: 10px;
  width: 230px;
}

/*-----------------------------------------
 TOP申し込みボタン
 -----------------------------------------*/
.head_apply_btn{padding-right:10px;}

.head_apply_btn a{
	position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    width: 100%;
    background-color:#FFF000;
    border: 3px solid #FFF000;
	padding:6px 12px;
    border-radius: 3px;
    transition: .2s;
}
.head_apply_btn a span{margin:auto 0;display:block;}
.head_apply_btn a span:nth-child(1){width:30px;line-height:0;transition: .2s;}
.head_apply_btn a svg{transition: .2s;}
.head_apply_btn a svg path {fill:#222;stroke-width: 0px;}
.head_apply_btn a span:nth-child(2){width:calc(100% - 35px);color:#222;font-weight:700;}
.head_apply_btn a span:nth-child(3){display:none;}

@media screen and (min-width:768px) {
	.head_apply_btn a:hover{background-color:rgba(0,0,0,0);}
	.head_apply_btn a:hover span:nth-child(2){color:#FFF000;}
	.head_apply_btn a:hover svg path {fill:#FFF000;}
}


/*-----------------------------------------
 ボタンエリア
 -----------------------------------------*/
.button_area a{
	position:relative;
	display:flex;
	flex-wrap:wrap;
	justify-content: center;
	gap:0 10px;
	margin:0 auto 20px;
	padding:20px 0;
	max-width:900px;
	color:#fff;
	filter: drop-shadow(0 0 4px rgba(0, 0, 0, .4));
    transition: .2s;
}
.button_area a svg{
	position: absolute;
	width:5%;
	top:50%;
	right:20px;
	transform: translateY(-50%);
}

.button_area a svg polyline{fill:none;stroke:#fff;stroke-miterlimit:10;stroke-width:3px;}


.button_area a.orien{background-color:#f3007f;}
.button_area a.orien span{display:block;font-size:28px;font-weight:700;line-height:1.2em;}
.button_area a img[src*="orien"]{width:41%;margin:auto 0;}

.button_area a.apply{background-color:#003d87;}
.button_area a.apply div > span{font-size:40px;font-weight:700;padding-right:.15em;}

.button_area a.gakutore{background-color:#ff8da4;}
.button_area a.gakutore img[src*="star"]{margin:auto 0;width:40px;}
.button_area a.gakutore div > span{font-size:40px;font-weight:700;padding-right:.15em;}
.button_area a.gakutore div > span i{display:none;}


.button_area a.honka{background-color:#00913a;}
.button_area a.honka div > span{font-size:40px;font-weight:700;padding-right:.15em;}

@media screen and (min-width:768px) {
	.button_area a:hover{
		transform: translateY(5px);
		filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0));
	}
}

/*-----------------------------------------
 MV
 -----------------------------------------*/

.mv_area{
	background-image: url("../images/mv_bk.webp");
	background-repeat: no-repeat;
	background-position:right top;
	background-size: cover;
}

.mv_box{padding:30px 30px 0;}

h1{
	line-height:0;
	max-width:1300px;
	margin: auto;
}



/*-----------------------------------------
 導入
 -----------------------------------------*/

.intro_main{padding:80px 30px;}

.intro_textwrap{
	display: flex;
	flex-wrap: wrap;
	gap:50px;
	margin: auto;
	max-width:1200px;
}
.intro_text{width:57%;}
.intro_text h2{
	text-align:left;
	color:#003d87;
	font-size:50px;
	font-weight:800;
	line-height:1.2em;
	padding:0 0 30px;
}
.intro_h2sub{
	width:fit-content;
	text-align:left;
	color:#fff;
	background-color:#ee568a;
	font-size:30px;
	font-weight:900;
	line-height:1.2em;
	padding:10px 30px;
}
.intro_text_pg{
	padding:30px 0 0;
	font-size:18px;
	font-weight:600;
}

.intro_img{width:calc(43% - 50px);}


.button_area.intro{
	padding: 60px 30px 0;
}



/*-----------------------------------------
 共通 ラインフレーム
 -----------------------------------------*/

.line-frame{position:relative;}

.line-frame_wrap{
	position:relative;
	width:100%;
	height:100%;
	
}

.line-frame_wrap::before{
	content:"";
	position: absolute;
	right:-50px;
	bottom:0;
	display: block;
	width:50px;
	height: calc(100% - 50px);
	background-color:#fff;
}

.line-frame_wrap::after{
	content:"";
	position: absolute;
	right:-50px;
	top:0;
	display: block;
	width:50.5px;
	height:50.5px;
	background-color:#fff;
	clip-path:polygon(100% 100%, 0% 0%, 0% 100%);
}

.line-frame::after {
	content: "";
	display: block;
	height: calc(100% + 20px);
	left:-10px;
	position: absolute;
	top:-10px;
	width:calc(100% + 20px + 50px);
	background-color:#fff;
	clip-path: polygon(
    /* --- 外枠 --- */
    0% 0%,                          /* 左上 */
    calc(100% - 54px) 0%,           /* 右上（カット開始点） */
    100% 54px,                      /* 右上（カット終了点） */
    100% 100%,                      /* 右下 */
    0% 100%,                        /* 左下 */
    0% 0%,                          /* 左上に戻る（繋ぎ） */
    
    /* --- 内窓（3pxの厚みを持たせる） --- */
    5px 5px,                          /* 内側左上 */
    5px calc(100% - 5px),             /* 内側左下 */
    calc(100% - 5px) calc(100% - 5px),/* 内側右下 */
    calc(100% - 5px) 56px,            /* 内側右上（カット下端） */
    calc(100% - 56px) 5px,            /* 内側右上（カット上端） */
    5px 5px                           /* 内側左上に戻る */
  );
}

.rtl .line-frame::after{left:auto;right:-10px;transform:scale(-1,1);}

.rtl .line-frame_wrap::before{right:auto;left:-50px;}
.rtl .line-frame_wrap::after{right:auto;left:-50px;clip-path: polygon(0% 100%, 100% 0%, 100% 100%);}

/*==========================*/

.top .line-frame_wrap::before{
	right:0;bottom:auto;top:-50px;
	width:calc(100% - 50px);height:50px;
}
.top .line-frame_wrap::after{
	right:auto;left:0;top:-50px;
	clip-path: polygon(0% 100%, 100% 0%, 100% 100%);
}

.top .line-frame::after{
	transform:scale(-1,1);
	top:-60px;
	height: calc(100% + 20px + 50px);
	width:calc(100% + 20px);
}



/*-----------------------------------------
 特長①
 -----------------------------------------*/
.suited_area{background-color:#ff98b0;}
.suited_box{
	background:repeating-linear-gradient(-45deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .1) 5px, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 25px);
}


.suited_main{
	padding:120px 30px;
}

.suited_listwrap{padding:0 0 80px;}

.suited_listitem{
	display: flex;
	flex-wrap: wrap;
	margin: auto;
	max-width:1200px;
	padding-bottom:90px;
}

.suited_listtext{
	position:relative;
	margin:0 0 auto;
	width:55%;
	background-color:#fff;
}
.suited_listtext-wrap{
	padding:45px 30px;
	background-image:url("../images/suited_bk.webp");
	background-position:115% -3%;
	background-repeat: no-repeat;
	background-size: 140%;
}

.suited_listtext h2{
	position:relative;
	text-align:left;
	color:#003d87;
	font-size:42px;
	font-weight:800;
	line-height:1.1em;
	padding-left:34px;
}
.suited_listtext h2::before{
	content:"";
	position: absolute;
	display: block;
	top:6%;
	left:0;
	width:26px;
	height:92%;
	background-color:#003d87;
}

.suited_listtext-wrap div{
	padding-top: 30px;
}
.suited_listtext-wrap div p{
	font-size:20px;
	letter-spacing:0.05em;
	font-weight:600;
}
.suited_listtext-wrap div p span{
	color:#f85894;
}

.suited_listimg{
	position: relative;
	margin-top:80px;
	width:45%;
	z-index: 5;
}

.suited_listitem.rtl{flex-direction: row-reverse;}


.suited_situation_box{
	margin: auto;
	max-width:1200px;
	background-color:#f85894;
}
.suited_situation_box .line-frame_wrap::before,
.suited_situation_box .line-frame_wrap::after{background-color:#f85894;}
.suited_situation_box.line-frame::after{background-color:#f85894;}

.suited_situation_wrap{padding:0 60px 40px;}

.suited_situation_h2{padding-bottom:10px;}
.suited_situation_h2 svg{width:60px;transform:rotate(90deg);}
.suited_situation_h2 svg polyline{fill:none;stroke:#fff;stroke-miterlimit:10;stroke-width:3px;}

.suited_situation_h2 h2{
	position:relative;
	color:#fff;
	font-size:50px;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight:700;
	line-height:1.1em;
	padding-bottom:20px;
}

.suited_situation_list{
	display: flex;
	flex-wrap: wrap;
	gap:5px;
}

.suited_situation_item{
	width:calc((100% - 10px)/ 3);
	background-color:#fff;
	padding:15px;
}
.suited_situation_item-img img{width:55%;}
.suited_situation_item-text{
	padding-top:5px;
	color:#003d87;
	font-size:20px;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight:900;
	line-height:1.15em;
}

.feature_list_text span{
	position:relative;
}
.feature_list_text span::after{
	content:"★";
	position:absolute;
	top:-.5em;
	right:0;
	font-size:50%;
}

.button_area.suited{padding:80px 30px 20px;}



/*-----------------------------------------
 特長②
 -----------------------------------------*/

.feature_box{position:relative;}

.feature_box::before,.feature_box::after{
	content:"";
	display:block;
	height:auto;
	z-index: -1;
	aspect-ratio:1 / 1;
	position:absolute;
	background-repeat: no-repeat;
	background-size: contain;
}
.feature_box::before{
	width:50%;
	top:2vw;
	right:2vw;
	background-image:url("../images/feature_top_bk.webp");
	background-position: top right;
}
.feature_box::after{
	width:50%;
	bottom:0;
	left:0;
	background-image:url("../images/feature_bottom_bk.webp");
	background-position: bottom left;
}

.feature_main{
	padding:150px 30px;
}

.feature_h2box{padding-bottom: 150px;}

.feature_h2box h2{
	position: relative;
    color: #003d87;
    font-size:60px;
    font-weight: 800;
    line-height: 1.1em;
}

.feature_listbox{
	margin: auto;
	background-color:#f85894;
	max-width:1200px;
}

.feature_listbox .line-frame_wrap::before,
.feature_listbox .line-frame_wrap::after{background-color:#f85894;}
.feature_listbox.line-frame::after{background-color:#f85894;}

.feature_listwrap{padding:0 30px 30px;}

.feature_list_item{
	display: flex;
	flex-wrap: wrap;
	gap:15px;
	margin: auto;
	border-bottom: dotted rgba(255,255,255,.5) 5px;
	padding:10px 10px;
}
.feature_list_item:first-child{padding-top:0;}
.feature_list_item:last-child{border-bottom:none;}

.feature_list_img{
	margin: auto;
	width:150px;
	padding:0 15px;
}
.feature_list_text{
	text-align: left;
	width:calc(100% - 180px);
	margin: auto;
	color:#fff;
	font-size:40px;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight:600;
	line-height:1.15em;
}

.button_area.feature01{padding:40px 30px;}
.button_area.feature02{padding:40px 30px 20px;}


.lesson_main{padding-top:80px;}

.lesson_h2box{
	padding-bottom: 60px;
}

.lesson_h2box h2{
	position: relative;
    color: #003d87;
    font-size:60px;
    font-weight: 800;
    line-height: 1.1em;
}

.lesson_imgbox{
	margin: auto;
	max-width:1200px;
}
.lesson_imgbox img{background-color:#fff;}
.lesson_img_note{
	text-align:right;
	font-size:18px;
	font-weight:600;
	padding-top:5px;
}

/*-----------------------------------------
 コース説明
 -----------------------------------------*/

.course_area{background-color:#f85894;}
.course_box{
	background:repeating-linear-gradient(-45deg, rgba(255, 255, 255, .1), rgba(255, 255, 255, .1) 5px, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 25px);
}

.course_main{
	padding:80px 30px;
}

.course_h2box{
	max-width:1200px;
	margin:auto;
}

.course_h2img{
	max-width:110px;
	margin: auto;
	padding-bottom:20px;
}
.course_h2box h2{
	padding:20px 10px;
	color:#fff;
	font-size:70px;
    font-weight: 800;
    line-height: 1.1em;
	border-top: 3px solid #fff;
	border-bottom: 3px solid #fff;
	filter: drop-shadow(0 0 4px rgba(0, 0, 0, .7));
}

.course_contents{
	max-width:1200px;
	margin: auto;
}

.course_contents_item{padding-top:80px;}

.course_contents_item h3{
	position: relative;
	text-align:left;
	color:#fff;
	font-weight:700;
	font-size:36px;
	line-height:1em;
	margin-bottom:80px;
	padding-left:40px;
}
.course_contents_item h3::before {
    content: "";
	display: block;
	position:absolute;
	left:0;
	top:0;
	background-color: #003d87;
	width:auto;
	height:100%;
	aspect-ratio:1 / 1;
	
}

.course_contents_wrap{
	background-color:#fff;
}
.course_contents_inner{padding:10px 40px 60px;}

.course_contents_target{
	width:fit-content;
	margin: auto;
}

.course_contents_target > div{
	position: relative;
	text-align:left;
	font-weight:700;
	font-size:36px;
	line-height:1em;
	padding-left:40px;
	margin-bottom:30px;
}
.course_contents_target > div:last-child{margin-bottom:0;}
.course_contents_target > div::before {
	content: "";
	display: block;
	position:absolute;
	left:0;
	top:0;
	background-color: #003d87;
	width:auto;
	height:100%;
	aspect-ratio:1 / 1;
}


.course_contents_att{font-weight:700;font-size:30px;padding-bottom:30px;}

.course_school_list{
	display:flex;
	flex-wrap: wrap;
	gap:15px 30px;
	padding-bottom:20px;
}

.course_school_region{width:calc((100% - 30px)/ 2);}

.course_school_region h4 {
    background-color: #004098;
    color: #fff;
    width: 100%;
    margin: 0;
    padding: 10px 0;
    text-align: center;
    letter-spacing: 0.15em;
}

.course_school_region a{
	position: relative;
	display: block;
	text-align: left;
	color:#231815;
	border-bottom: 2px solid #ddd;
	padding:2px 5px 2px 35px;
	transition: .2s;
}

.course_school_region a::before {
    content: "●";
	position: absolute;
	left:5px;
	top:50%;
	transform: translateY(-50%);
    font-size:1.5em;
    line-height: 1.1em;
    color: #004098;
	transition: .2s;
}
.course_school_region a span:nth-child(1){text-decoration: underline;}
.course_school_region a span:nth-child(2){display:inline-block;margin-left:15px;font-size:.8em;}
.course_school_region a span:nth-child(2)::before{content:"(";}
.course_school_region a span:nth-child(2)::after{content:")";}

@media screen and (min-width: 768px) {
	.course_school_region a:hover{background-color:#ddd;}
}

.course_school_region.double{width:100%;}
.course_school_region.double ul{display:flex;flex-wrap: wrap;gap:0 30px;}
.course_school_region.double ul li{width:calc((100% - 30px)/ 2);}

.course_school_note{
	text-align: right;
	font-size: 16px;
	font-weight: 600;
}


.button_area.course{padding:60px 30px 20px;}


/*-----------------------------------------
 公開説明会
 -----------------------------------------*/

.orien_area{background-color:#ffffc5;}

.orien_box{padding:80px 30px;}
.orien_main{margin:auto;max-width:1200px;}

.orien_table{padding-top: 20px;}

.orien_table .orien_h2sub{display: none;}

.orien_table.offline .orien_h2sub{
	display: block;
	text-align: left;
	background-color: rgba(255, 255, 255, .95);
	padding: 10px 5px;
	margin: 20px auto;
	border-left: 12px solid #004098;
	font-size: 18px;
	font-weight: 600;
}

.orien_table_region{padding-bottom:30px;}
.orien_table_region:last-child{padding-bottom:0;}

.orien_table_region h3{
	text-align: left;
	background-color:#e30077;
	color:#fff;
	padding:3px 25px;
	margin-bottom:10px;
}
.orien_table_region h3::before{
	content:"■";
	padding-right:8px;
}

.orien_table_title{
	background-color:#003d87;
	color:#fff;
	display:flex;
	flex-wrap: wrap;
}

.orien_table_item{display:flex;flex-wrap: wrap;background-color:#fff;}
.orien_table_item h4{display:flex;flex-wrap: wrap;}
.orien_table_item h4 a{margin: auto;text-decoration:underline;color:#222;font-weight:600;font-size:18px;}
.orien_table_list li{display:flex;flex-wrap: wrap;border-bottom:#9fa0a0 2px solid;}

.orien_table_title div{padding:2px 0;border-right:#9fa0a0 2px solid;}
.orien_table_title div:nth-child(1){width:25%;}
.orien_table_title div:nth-child(2){width:25%;}
.orien_table_title div:nth-child(3){width:25%;}
.orien_table_title div:nth-child(4){width:25%;border-right:none;}

.orien_table_item h4{width:25%;border-right:#9fa0a0 2px solid;border-bottom:#9fa0a0 2px solid;}
.orien_table_item ul{width:75%;}

.orien_table_list li div{padding:6px 3px 3px;font-size:18px;font-weight:600;border-right:#9fa0a0 2px solid;}
.orien_table_list li div:nth-child(1){width:calc(100% / 3);}
.orien_table_list li div:nth-child(2){width:calc(100% / 3);}
.orien_table_list li div:nth-child(3){width:calc(100% / 3);border-right:none;}




.orien_table_list li div:nth-child(1) a{
	display: block;
	width:100%;
	height:auto;
	background-repeat: no-repeat;
	background-position: center;
}

.orien_table_list li div.on{padding:5px 3px;}
.orien_table_list li div.on:nth-child(1) a{
	background-image:url("../images/orien_online.webp");
	background-size:85%;
	aspect-ratio:8 / 1;
	filter: drop-shadow(0 0 2px rgba(0, 0, 0, .5));
}

.orien_table_list li div.off{padding:0 3px;}
.orien_table_list li div.off:nth-child(1) a{
	pointer-events: none;
	background-image:url("../images/orien_school.webp");
	background-size:80%;
	aspect-ratio:8 / 1.2;
}

.orien_table_note{margin-top:-10px;}
.orien_table_note p{font-weight:800;}
.orien_table_note p.pink{color:#e30077;}
.orien_table_note p.center{
	font-size:120%;
	padding:10px 0 0;
	text-align:center;
	line-height:1.2em;
}

.button_area.orien{padding: 40px 30px 30px;}

.orien_table_item:last-child li:last-child{border-bottom:none;}
.orien_table_item:last-child h4{border-bottom:none;}

.orien_table.offline{padding-top:0;}

.orien_table.offline .orien_table_title div:nth-child(1){width:33%;}
.orien_table.offline .orien_table_title div:nth-child(2){display:none;}
.orien_table.offline .orien_table_title div:nth-child(3){width:calc(67% / 2);}
.orien_table.offline .orien_table_title div:nth-child(4){width:calc(67% / 2);}

.orien_table.offline .orien_table_item h4{width:33%;}
.orien_table.offline .orien_table_item ul{width:67%;}

.orien_table.offline .orien_table_list li div:nth-child(1){display:none;}
.orien_table.offline .orien_table_list li div:nth-child(2){width:50%;}
.orien_table.offline .orien_table_list li div:nth-child(3){width:50%;}

.note_offline{display:none;}
.orien_table.offline .note_online{display:none;}
.orien_table.offline .note_offline{display:block;}



/*-----------------------------------------
 流れ
 -----------------------------------------*/

.flow_main{
	padding:80px 30px;
}

.flow_h2box h2 {
    position: relative;
    color: #003d87;
    font-size: 60px;
    font-weight: 800;
    line-height: 1.1em;
	padding-bottom:40px;
}

.flow_list{
	display:flex;
	flex-wrap: wrap;
	gap:10px;
	margin: auto;
	max-width:1200px;
}
.flow_item{
	width:calc((100% - 20px)/ 3);
}

.flow_imgbox{
	position:relative;
	background-color:#ffece9;
}
.flow_step{
	position:absolute;
	width:20%;
	top:-20px;
	left:10px;
}
.flow_icon{padding:15px 15%;}
.flow_icon img[src*="01"]{width:41%;}
.flow_icon img[src*="02"]{width:90%;}

.flow_textbox > span{display: none;}

.flow_textbox h3{
	font-size:20px;
	font-weight:800;
	color: #003d87;
}

.flow_arrow_area{padding:20px 30px;}


.flow_arrow > div{
	margin:0 auto 8px;
	max-width:34px;
	height:auto;
	aspect-ratio:3 / 2;
	background-color:#003d87;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.flow_text{
	font-size:46px;
	font-weight:800;
	color: #003d87;
}

.button_area.flow{padding:20px 30px 80px;}


/*-----------------------------------------
 キャンペーン
 -----------------------------------------*/

.campaign_date_out{display:none;}

.campaign02{
	background-color:#FFE9B3;
	background-image:url("../images/campaign_bk.webp");
	background-position:top center;
	background-repeat: no-repeat;
	background-size:120%;
}

.campaign02_area{
	background: repeating-linear-gradient(-40deg, rgba(255, 255, 255, .2), rgba(255, 255, 255, .2) 14px, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 28px);
	padding:120px 30px 180px;
}
.campaign02_box{
	margin: auto;
	max-width:1200px;
}

.campaign02_main h2{
	display: flex;
	flex-wrap: wrap;
	line-height:0;
}
.campaign02_main h2 img{margin: auto 0;}
.campaign02_main h2 img:nth-child(1){width:45%;}
.campaign02_main h2 img:nth-child(2){width:55%;margin-left:-1.8%;}

.campaign02_period{margin: auto;max-width:640px;padding:30px 0 0;}

.campaign02_detail{
	position:relative;
	margin: auto;
	max-width:1200px;
	padding:20px 0;
}

.campaign02_note{
	background-color:#fff;
	padding:10px 25px;
	text-align:left;
	font-size:14px;
}


/* ---------------------------------------------------------
■ フッター
--------------------------------------------------------- */
footer {
	width: 100%;
	height: 200px;
	text-align: center;
	background-color:#002B69;
}

footer .foot_bg{
	width: 100%;
	height: 100%;
}

footer div#footlogo {
    width: 100%;
	max-width: 900px;
	height: 100%;
	text-align: center;
	margin: 0 auto ; /* 中央レイアウト */
	position: relative;
}

footer div#footlogo img{
	position: absolute;
	width: auto;
	height: auto;
	max-width: 300px;
	left: 50%;
	top: 50%;
	-webkit-transform: translate3d(-50%, -50%, 0);
	transform: translate3d(-50%, -50%, 0);
}

/* ---------------------------------------------------------
■ トップへ戻るボタン
--------------------------------------------------------- */

#page-top {
    position: fixed;
    bottom: 20px;
    right: 5px;
	z-index: 100;
	animation: gotop 3s linear infinite;
	width: 80px;
	height: 350px;
	transition: 0.2s;
}

#page-top img{float:right;}

#page-top a:hover img{opacity:1;}

@keyframes gotop {
  0% { transform: translateY(0) }
  50% { transform: translateY(-10px) }
  100% { transform: translateY(0) }
}

@media screen and (max-width: 767px) {
	#page-top{display:none;}
}