@charset "UTF-8";

/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600&display=swap');

html,body {
	height:100%;
}
html {
	font-size:62.5%;
  overflow-y: scroll;
}

body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form, figure {
	margin: 0;
	padding: 0;
	border: none;
	font-size: 1.4rem;
	line-height: 1.75em;
	list-style-type: none;
	font-style: normal;
	font-weight: normal;
	font-family:"メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
	text-align: left;
	color:#333;
}
div, h1, h2, h3, h4, h5, h6, p, dl, dt, dd,
ol, ul, li, form, input, textarea, button,
table, tr, th, td, article, aside, footer, header,
hgroup, nav, section, a, span, img {
	-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 {
	min-width: 950px;
}

a {
	color: #000;
	font-size: 1.5rem;
	text-decoration: none;
}
a:hover {
	opacity: .7;
}

a img {
	transition: opacity 0.3s ease-out;
}
a:hover img {
	opacity: 0.7;
}
figure {
	text-align: center;
	line-height: 0;
}
p {
	font-size: 1.77rem;
  line-height: 1.55;
}
.sp {
	display: none;
}

.wrap {
	width: 96%;
	max-width: 950px;
	margin: auto;
}

/* ------------------------------
    text/font
------------------------------ */
.text-align-center {
	text-align: center;
}
.fwb {
	font-weight: bold;
}
.color_pink {
	color: #e5007f !important;
}
.color_red {
	color: #B12416 !important;
}
.highlight {
	/* background: linear-gradient(transparent 55%, #ffee5f 55%); */
  background: linear-gradient(transparent 56%, #ffee5f 57%, #ffee5f 90%, transparent 90%);
}
.highlight2 {
	/* background: linear-gradient(transparent 55%, #ffee5f 55%); */
  background: linear-gradient(transparent 40%, #ffee5f 40%, #ffee5f 90%, transparent 90%);
}
.udl_lt {
  /* text-decoration: underline; */
  background: linear-gradient(transparent 89%, #333 90%, #333 95%, transparent 95%);
}
.udl {
  /* text-decoration: underline; */
  background: linear-gradient(transparent 85%, #333 86%, #333 90%, transparent 90%);
}
.font-bebas{
  font-family: 'Bebas Neue', cursive;
}
.f_size5{
  font-size: 5rem !important;
}
/* ------------------------------
    adjust
------------------------------ */
.mb26{
  margin-bottom: 26px;
}
.mb40{
  margin-bottom: 40px;
}
.mt60{
  margin-top: 60px;
}

/* ------------------------------
    flex
------------------------------ */
.flex {
	display: flex;
	display: -webkit-flex;
	display: -ms-flex;
}
.justifycontent_spacebetween {
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.justifycontent_center {
	-webkit-justify-content: center;
	justify-content: center;
}
.alignitems_center {
	-webkit-align-items: center;
	align-items: center;
}
.order1 {
	order: 1;
}
.order2 {
	order: 2;
}

/* ------------------------------
    clearfix
------------------------------ */

.cf:after {
  content: ".";
  display: block;
  height: 0;
  font-size:0;
  clear: both;
  visibility:hidden;
}

.cf {display: inline-block;}

/* Hides from IE Mac */
* html .cf {height: 1%;}
.cf {display:block;}
/* End Hack */


/* ------------------------------
*  header
------------------------------ */
header{
  position: relative;
}
header .header-cv{
  position: absolute;
  top:0;
  left: 0;
	background-image: url("../img/img_yoko_fv.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  height: 1112px;
  width: 100%;
  min-width: 1053px;
  z-index: 2;
}
header .header-bg{
	background-image: url("../img/main_bg.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  border-top: 6px solid #49B7D0;
  border-image: linear-gradient(to right, #C271AC 0%, #49B7D0 100%);
  border-image-slice: 1;
  height: 1112px;
  min-width: 1053px;
  border-left-width: 0;
  border-right-width: 0;
  border-bottom-width: 0;
}
header .header-wrap{
  width: 1053px;
  margin:0 auto;
  position: relative;
}
header .header-wrap .main-title img{
	display: none;
}
header .main-title {
	background: url(../img/main.png) no-repeat left top;
	height: 729px;
}
header .obi{
  margin-top: -355px;
}
/*
@media screen and (max-width: 1053px) {
  header{
    overflow: hidden;
  }
}
*/

/* ------------------------------
*  footer
------------------------------ */
.footer {
	padding: 42px 0;
  background-color: #5686db;
  text-align: center;
}
.footer p.copy {
	font-size: 1.5rem;
	text-align: center;
  color:#fff;
}
.footer ul{
  margin: 0 auto 16px;
  text-align: center;
}
.footer ul li {
	font-size: 1.5rem;
	border-left: 1px solid #fff;
  display:inline-block;
}
.footer ul li:first-child {
	border-left: none;
}
.footer ul li a {
	padding: 0 1em;
	font-size: 1.5rem;
  color:#fff;
}

/* ------------------------------
*  main
------------------------------ */
p.obi {
	width: 100%;
	margin-bottom: 0 !important;
	height: 180px;
	background: url(../img/img_obi.jpg) repeat-x center center;
	background-size: auto 100%;
}
.contents-title {
	background-color: #f2136b;
  font-family: 'Noto Serif JP', serif;
  font-weight: 500;
  color:#fff;
  text-align: center;
	padding: 24px 0 0;
  height:142px;
}
.contents-wrap {
	width: 950px;
	box-shadow:0 0 4px 2px rgba(0,0,0, .3);
  background-color: #fff;
}
.contents-subtxt{
  position: relative;
  z-index: 1;
  font-family: 'Noto Sans JP', serif;
  font-weight: 600;
  text-align: center;
}
.ud_yellow_stripe{
  position: relative;
}
.ud_yellow_stripe:before{
	background: repeating-linear-gradient(-45deg, #ffee5f, #ffee5f 2.5px, #fff 0, #fff 6px);
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -2;
}
.ud_yellow_stripe:after{
  background: linear-gradient(transparent -10%, rgba(255,255,255,1) -10%, rgba(255,255,255,1) 83%, transparent 83%);
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -1;	
}
  

/* ------------------------------
*  form box
------------------------------ */
.box_input {
	position: relative;
	width: 90%;
	max-width: 824px;
	margin: 40px auto;
}
.box_input th,
.box_input td {
  padding:15px 0 15px 10px;
  border-bottom: 1px dotted #000;
}
.box_input th {
	width:247px;
  font-weight: bold;
  vertical-align: top;
  font-size: 1.7rem;
  position: relative;
}
.box_input td {
	width:577px;
}
.box_input td p{
  font-size: 1.3rem;
  padding-top: 10px;
  margin-bottom: 0;
}
.box_input td .rei{
  font-size: 1.3rem;
  padding-left: 20px;
}
.box_input td .subtx{
  font-size: 1.4rem;
  padding-right: 8px;
  font-weight: bold;
}
.box_input td .subtx2{
  font-size: 1.4rem;
  padding:0 8px;
  font-weight: bold;
}
.box_input th .must {
  display: inline-block;
  color: #fff;
  background: #b12416;
  font-size: 1.3rem;
  padding: 0 .4em;
  height: 20px;
  width:37px;
  line-height: 20px;
  position: absolute;
  right: 30px;
  top: 20px;
}

input, button, textarea {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
input[type="text"] {
	padding-left: 5px;
  padding-top: 5px;
  padding-bottom: 5px;
	font-size: 1.6rem;
	background-color: #fff;
	border: 1px solid #000;
}

select::-ms-expand {
	display: none;
}
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
  
  width: 280px;
  height: 33px;
  padding: 6px 12px;
	font-size: 1.4rem;
	line-height: 1.1em;
	border-radius: 3px;
	background-image: url(../img/select_arrow.png);
	background-repeat: no-repeat;
	background-size: 8px 6px;
	background-position: right 10px center;
  background-color: #eeeeee;
  border: 1px solid #e0e0e0;
}
/* radio */
.check_wrap {
  display: flex;
}
.check_wrap div {
  position: relative;
}
input[type='radio'],
input[type='checkbox'] {
  visibility: hidden;
  width: 1px;
  position: absolute;
  left: 0;
  top: 0;
}
input[type='radio'] + label,
input[type='checkbox'] + label {
  position: relative;
  padding-left: 1.8em;
  font-size: 1.8rem;
  margin: 0 2.5em 0 .5em;
}

input[type='radio'] + label::before,
input[type='checkbox'] + label::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: .16em;
  width: 18px;
  height: 18px;
  border: 1px solid #000;
  border-radius: 50%;
}

input[type='radio']:checked + label::after,
input[type='checkbox']:checked + label::after {
  content: '';
  display: block;
  position: absolute;
  left: 4px;
  top: 6px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #000;
}
@-moz-document url-prefix() {
  input[type='radio']:checked + label::after,
  input[type='checkbox']:checked + label::after {
    top: 7px;
  }
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, input[type='radio']:checked + label::after {
    top: 6px;
  }
}

/* -radio */

.box_input .wide1 input{
  width:360px;
}
.box_input .wide2 input{
  width:151px;
}
.box_input .wide2 li{
  display: inline-block;
}

/*
.box_input .wide2 div{
  display:inline;
}
*/
@media all and (-ms-high-contrast: none) {
	*::-ms-backdrop, input[type="text"] {
    line-height: 1.4;
    padding-top: 5px;
    padding-bottom: 5px;
	}
  
}
input[type="button"] {
	display: block;
	width: 100%;
	max-width: 797px;
	margin: auto;
	padding-top: 10.9%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: url(../img/btn_cta.png) 50% 50% no-repeat;
	background-size: 100%;
	cursor: pointer;
}
input[type="button"]:hover {
	opacity: .7;
}

.form_txt {
	max-width: 790px;
	width: 90%;
	height: 222px;
	padding: 2% 5% 2% 1%;
	margin: 0 auto 40px;
	overflow: hidden;
	overflow-y: scroll;
	background: #fff;
	border: 1px solid #ccc;
}
.form_txt p, a, dt, dd, li{
	font-size: 1.6rem !important;
	line-height: 1.4;
}
.form_txt dt{
  font-weight: bold;
}
.form_txt ul.j4{
  margin-bottom: 22px;
}

.submit_bg{
  width: 809px;
  height: 122px;
  padding: 8px 6px;
  border-radius: 6px;
  margin:0 auto;
  
  position: relative;
  background: #f7f7f7;
  box-shadow: inset 2px 2px 4px rgba(0, 0, 0, 0.08);  
  border:1px solid rgba(0, 0, 0, 0.1);
}


/* ------------------------------
*  sec01
------------------------------ */
.sec01 {
	background: #f0f2f7;
  padding :37px 0 68px 0;
  overflow: hidden;
}
.sec01 .ttl{
  font-size: 5.54rem;
  color: #333333;
  font-weight: bold;
  text-align: center;
  line-height: calc(81.57/55.4);
  margin: 40px auto;
}
.sec01 .contents-wrap {
  position: relative;
  z-index: 3;
	margin: 0 auto 0;
	padding: 40px 25px 48px 25px;
}
.sec01 ul.check_list {
	margin-bottom: 48px;
}
.sec01 ul.check_list li {
	padding-left: 1.7em;
	margin-bottom: 20px;
	font-size: 2rem !important;
	line-height: 1.4;
	background: url(../img/ico_check.png) no-repeat left 0.1em;
}
.sec01 ul.voice_list {
	margin-bottom: 20px;
}
.sec01 ul.voice_list li {
  padding-bottom: 16px;
  border-bottom: 1px solid #e0e0e0;
  text-align: left;
}
.sec01 ul.voice_list li + li{
	margin-top: 20px;
}
.sec01 ul.voice_list li p{
  margin: 0;
  font-size: 1.8rem;
}
.sec01 ul.voice_list li p.name{
  text-align: right;
}
.sec01 ul.voice_list li p.tx{
  font-size: 1.8rem;
  position: relative;
  padding-left: 3rem;
}
.sec01 ul.voice_list li p.tx::before{
  position: absolute;
  content: "●";
  top: -.6rem;
  left: 0;
  color: #42bdc1;
  font-size: 2.5rem;
}
.sec01 .contents-subtxt{
  font-size: 3.9rem;
  padding: 68px 0 80px;
}
.sec01 p + p {
	margin-top: 28px;
}
.sec01 .contents-wrap .movie_box{
  padding: 16px 0;
}
.sec01 .contents-wrap .movie,
.sec01 .contents-wrap .voice_box{
  width: 756px;
  margin: 0 auto;
  padding: 26px 0;
  margin-bottom: 5px;
  background: #fff7f6;
  border: 2px solid #f4d8e0;
  border-radius: 3px;
  text-align: center;
}
.sec01 .contents-wrap .movie .mv_ttl,
.sec01 .contents-wrap .voice_ttl{
  color: #e5007f;
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 20px;
  text-align: center;
}
.sec01 .contents-wrap .movie .mv_ttl.-sm,
.sec01 .contents-wrap .voice_ttl.-sm{
  font-size: 2.6rem;
  white-space: nowrap;
}
.sec01 .contents-wrap .movie .movie_inn{
}
.sec01 .contents-wrap .movie_inn iframe {
	border: none;
  margin: auto;
}
.sec01 .contents-wrap .sub_txt{
  text-align: right;
  font-size: 1.4rem;
	margin: 10px auto 10px;
}
.sec01 .contents-wrap .movie_box .sub_txt{
  width: 756px;
}

.sec01 .contents-wrap .voice_box{
  padding: 26px 20px;
}
.sec01 .contents-wrap .voice_box + .voice_box{
   margin-top: 25px;
}
.sec01 .contents-wrap .voice_name{
  font-size: 2rem;
  line-height: 2;
  text-align: center;
  color: #333;
  font-weight: bold;
  margin-top: -20px;
  margin-bottom: 30px;
}
.sec01 .contents-wrap .voice_detail{
  display: flex;
  flex-direction: row-reverse;
  gap: 0 35px;
}
.sec01 .contents-wrap .voice_detail .img{
  flex: 1;
  margin-bottom: 10px;
}
.sec01 .contents-wrap .voice_detail .txt p{
  font-size: 1.7rem;
  line-height: calc(25/17.7);
  
}
.sec01 .contents-wrap .voice_detail .txt p + p{
  margin-top: 25px;
}



/* ------------------------------
*  sec02
------------------------------ */
.sec02{
  overflow: hidden;
}
.sec02 .sec02_body01 {
	background-image: url(../img/sec02_bg1.png) , url(../img/sec02_bg2.png);
	background-repeat: no-repeat , no-repeat;
	background-position: left top , center top;
	background-size: auto , cover;
  height: 823px;
}
.sec02 .sec02_body02 {
	background-image: url(../img/sec02_bg3.png);
	background-repeat: no-repeat;
	background-position: center top 860px;
	background-size: cover;
  padding-bottom: 68px;
}
.sec02 p + p {
  margin-top: 25px;
}
.sec02 .contents-title {
  font-size: 5rem;
}
.sec02 .contents-subtxt {
  font-size: 3.9rem;
  padding: 56px 0 48px;
  color: #231815;
}
.sec02 .sec02box_01{
  padding-top: 60px;
}
.sec02 .sec02box_01 .txt_box{
  padding-left: 25px;
  padding-right: 280px;
}
.sec02 .sec02box_01 .fig_box{
  padding-left: 25px;
  padding-right: 200px;
  display: flex;
  justify-content:flex-start;
  margin-bottom: 30px;
}
.sec02 .sec02box_01 .fig_box p{
  width: 341px;
}
.sec02 .sec02box_01 .fig_box p:first-child{
  margin-right: 18px;
}
.sec02 .sec02box_01 .fig_box p:last-child{
  margin-top: 0;
}
.sec02 .sec02_body02 .txt_box{
	padding: 0 25px;
}
.sec02 .sec02_body02 .fl1{
  padding-right: 34px;
  width: 340px;
}
.sec02 .sec02_body02 .fr1{
  width: 500px;
}

/* ボード */
.sec02 .cw_board_pink {
	width:949px;
	background-image: url(../img/sec03_boardbg_pk.png);
  background-repeat: repeat;
  margin:60px auto 0;
  padding:21px 0;
}
.sec02 .cw_board_wh {
	width: 909px;
	margin: 0 auto;
	padding: 42px 0 80px;
	box-shadow:0 0 4px 2px rgba(0,0,0, .3);
  background-color: #fff;
  position: relative;
}
.sec02 .cw_board_wh .bd_clip{
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  margin:0 auto;
}
.sec02 .contents-sub-title {
	padding: 18px 0 60px;
}
.sec02 .subbox-wrap {
  padding-left: 0;
  padding-right: 0;
}
.sec02 .sec02_body02 .fl2{
  width: 495px;
  padding-right: 25px;
}
.sec02 .sec02_body02 .fr2{
  width: 332px;
  padding-right: 25px;
}
.sec02 .sec02_body02 .fr2 figcaption{
  font-size: 1.4rem;
  text-align: center;
  line-height: 1.4;
  margin-top: 8px;
}
/* vs */
.sec02 .sub-phbox-wrap{
  position: relative;
  width: 855px;
  background-color: #f0f2f7;
  margin: 0 auto 40px;
  padding: 30px 30px 42px;
}
@media all and (-ms-high-contrast:none){
  .sec02 .sub-phbox-wrap {
    padding: 30px 0;
  }
}
.sec02 .sub-phbox-wrap figcaption{
  font-size: 1.8rem;
  text-align: center;
  line-height: 1.55;
  margin-top: 10px;
}
.sec02 .sub-phbox-wrap.vs01 figure{
  margin: 0 15px;
}
.sec02 .sub-phbox-wrap.vs02 figure{
  margin: 0 75px;
}
.sec02 .sub-phbox-wrap::after{
  position: absolute;
  content: "";
  background: url("../img/img_vs.png") no-repeat top center;
  width: 90px;
  height: 90px;
  top: 50%;
  left :50%;
  transform : translate(-50%,-50%);
}

.sec02 .sub-phbox-wrap .sub_txt{
  position: absolute;
  bottom: 10px;
  font-size: 1.4rem !important;
}




/* ------------------------------
*  sec03
------------------------------ */
.sec03{
  overflow: hidden;
}
.sec03 .contents-title {
  font-size: 6rem;
  height: 203px;
  line-height: 1.2;
  padding-top: 26px;
}
.sec03 .contents_box01 {
	background-image: url("../img/common_bg.jpg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  padding-bottom: 30px;
}
.sec03 .subbox-wrap{
  padding-top: 100px;
  padding-bottom: 50px;
}
.sec03 .subbox-wrap.left_flex{
  width: 100%;
  padding-left: 25px;
  padding-right: 350px;
}
.sec03 .subbox-wrap p + p{
  margin-top: 25px;
}
.sec03 .contents-subtxt{
  padding: 30px 0 48px;
}
.sec03 .contents-subtxt .ud_yellow{
  font-size: 4.5rem;
  font-weight: bold;
	font-family:"メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
  background: linear-gradient(transparent 60%, #ffee5f 61%, #ffee5f 83%, transparent 83%);
}

.sec03 .contents_box02{
  position: relative;
  padding-top: 56px;
  margin-bottom: 100px;
}
.sec03 .contents_box02 .element_left_box{
  background: url("../img/sec03_bg_boxleft.png") repeat-y left top;
}
.sec03 .contents_box02 .element_right_box{
  background: url("../img/sec03_bg_boxright.png") repeat-y right top;
}
.sec03 .contents_box02 .element_left_box,
.sec03 .contents_box02 .element_right_box{
  position: relative;
  padding: 72px 0 36px;
  margin: 0 auto 80px;
  background-size: 100%;
}
.sec03 .contents_box02 .ptpb72{
  padding: 72px 0;
}
.sec03 .contents_box02 .pt72{
  padding-top: 72px;
}
.sec03 .contents_box02 .mb100{
  margin-bottom: 100px;
}
.sec03 .contents_box02 .element_right_box:last-of-type{
  margin-bottom: 0;
}
.sec03 .contents_box02 .element_inn{
  margin: auto;
  position: relative;
  z-index: 2;
  display: flex;
  justify-content:space-between;
  width: 950px;
}
.sec03 .contents_box02 .element_left_box .txt{
  width: 490px;
  padding-left: 32px;
  padding-right: 26px;
}
.sec03 .contents_box02 .element_left_box .img_box{
  width: 453px;
}
.sec03 .contents_box02 .img_box.mt-24{
  margin-top: -24px;
}
.sec03 .contents_box02 .img_box.mt-38{
  margin-top: -38px;
}

.sec03 .contents_box02 .element_right_box .txt{
  width: 490px;
  padding-left: 26px;
  padding-right: 26px;
}
.sec03 .contents_box02 .element_right_box .txt.w{
  width: 497px;
  padding-right: 0;
}
.sec03 .contents_box02 .element_right_box .txt.w p{
  padding-right: 26px;
}
.sec03 .contents_box02 .element_right_box .img_box{
  width: 453px;
}
.sec03 .contents_box02 .element_inn .sec03_ttl{
  font-size: 3.9rem;
  color: #ec599d;
  line-height: 1.26;
  margin-bottom: 24px;
  position: relative;
}
.sec03 .contents_box02 .element_inn .sec03_ttl::before{
  position: absolute;
  font-size: 10rem;
  font-family: 'Bebas Neue', cursive;
  color: rgba(38,204,219, .75);
  top: -120px;
  left: 5px;
}
.sec03 .contents_box02 .element_inn .sec03_ttl.box1::before{
  letter-spacing: -.05em;
  content: "01";
}
.sec03 .contents_box02 .element_inn .sec03_ttl.box2::before{
  content: "02";
}
.sec03 .contents_box02 .element_inn .sec03_ttl.box3::before{
  content: "03";
}
.sec03 .contents_box02 .element_inn .sec03_ttl.box4::before{
  content: "04";
}
.sec03 .contents_box02 .element_inn .sec03_ttl.box5::before{
  content: "05";
}
.sec03 .contents_box02 .element_inn .sec03_ttl.box6::before{
  content: "06";
}
.sec03 .contents_box02 .element_inn p{
  font-size: 1.8rem;
}
.sec03 .contents_box02 .element_inn p + p{
  margin-top: 25px;
}
.sec03 .contents_box02 .sub_txt{
  position: absolute;
  right: 30%;
  bottom: 16px;
  font-size: 1.4rem !important;
}

/* ------------------------------
*  sec04
------------------------------ */
.sec04{
  overflow: hidden;
}
.sec04 .sec04_top{
	background: url("../img/sec04_bg.jpg") no-repeat center top / cover;
  border-top: 6px solid #49B7D0;
  border-image: linear-gradient(to right, #C271AC 0%, #49B7D0 100%);
  border-image-slice: 1;
  height: 1026px;
  border-left-width: 0;
  border-right-width: 0;
  border-bottom-width: 0;
}
.sec04 .sec04_top .bg_wrap{
  width: 950px;
  margin:0 auto;
}
.sec04 p + p{
  margin-top: 25px;
}
.sec04 .sec04_top .bg_wrap .section-title img {
	display: none;
}
.sec04 .sec04_top .bg_wrap .section-title {
  z-index: 3;
	background: url(../img/sec04_main.png) no-repeat center top;
	height: 487px;
  margin-top: 68px;
}
.sec04 .contents-wrap{
  margin: -400px auto 100px;
  padding-top: 40px;
  padding-bottom: 68px;
}
.sec04 .txt_box{
  padding: 0 25px;
}
.sec04 .contents-inner{
  width: 895px;
  padding-bottom: 20px;
  margin: 0 auto 56px;
  border-bottom: 1px solid #ccc;
}
.sec04 .contents-inner:last-child{
  padding-bottom: 0;
  margin: 0 auto 0;
  border-bottom: 0;
}
.sec04 .contents-inner .inner_ttl{
  margin-bottom: 36px;
  align-items: flex-start;
}
.sec04 .contents-inner .inner_ttl .contents-subtitle{
  color:#e6007f;
  font-size: 3.75rem;
  line-height: 1.3;
  padding-top: 5px;
  padding-left: 12px;
}
.sec04 .contents-inner .inner_ttl .contents-subtitle.single{
  padding-top: 25px;
}
.sec04 .contents-inner .txt_r{
  padding-left: 25px;
}
.sec04 .contents-inner .txt_l{
  padding-right: 25px;
}



/* ------------------------------
*  sec05
------------------------------ */
.sec05 {
  padding-bottom: 48px;
  overflow: hidden;
}
.sec05 .contents-inner{
  padding-left: 25px;
  padding-right: 25px;
}
.sec05 .contents-title {
  font-size: 5rem;
  line-height: 1.2;
  padding-top: 0;
}
.sec05 .contents-title .font-gos{
  font-size: 3.1rem;
	font-family: 'Noto Sans JP', serif;
}
.sec05 .contents_box01 {
	background: url(../img/sec05_btmbg.jpg) no-repeat center top;
  background-size: cover;
  padding-top: 53px;
}
.sec05 .contents_box01 .txt_box{
  padding-left: 25px;
  width: 560px;
}
.sec05 .contents_box01 .txt_box p + p{
  margin-top: 25px;
}
.sec05 .contents_box01 .wrap{
  position: relative;
}
.sec05 .contents_box01 .wrap .fig2{
  width:467px;
  position: relative;
  left:40px;
  top:0px
}
.sec05 .contents_box02 {
  text-align: center;
  margin-bottom: 60px;
}
.sec05 .contents-subtxt {
  font-size: 3.75rem;
  padding: 56px 0 48px;
}
.sec05 .contents_box02 .contents-inner p + p{
  margin-top: 25px;
}
.sec05 .contents_box02 ul.step {
	padding: 0 0 25px 25px;
}  
.sec05 .contents_box02 .step li {
	margin-bottom: 5px;
	font-size: 2.4rem !important;
  font-weight: bold;
}
.sec05 .contents_box02 .cl_pink{
  color: #e90071;
}
.sec05 .contents-subtitle {
  margin-top: 66px;
	margin-bottom: 30px;
  text-align: center;
}
.sec05 .contents_box02 .txt_l{
  padding-right: 25px;
}
.program{
  width: 814px;
  margin:0 auto 40px;
  border:1px solid #986e00;
  border-collapse: collapse;
}
.program th{
  background-color: #5686db;
  color: #faef0e;
  text-align: center;
  padding:18px 0 10px;
  position: relative;
}
.program th span{
	font-size: 2.6rem;
  font-weight: bold;
  margin:0 160px;
}
  .program th span.jitaku{
    letter-spacing: 2rem;
  }
.program th span:first-child::after{
  content: url(../img/sec05_arrow.png);
  text-align: center;
  vertical-align: middle;
  width: 41px;
  height: 41px;
  position: absolute;
  top: 6px;
  left: 47.5%;
}

.program td{
  border-bottom:1px solid #986e00;
  border-right:1px solid #986e00;
  vertical-align: top;
  padding: 10px 0 15px 16px;
  width: 407px;
}
.program td p.mds{
  font-size: 2.7rem;
  line-height: 1.55;
  font-weight: bold;
  margin-bottom: 10px;
}
.program td li{
  font-size: 1.8rem !important;
  line-height: 1.55;
  font-weight: bold;
  margin-bottom: 0;
  padding-left: .3rem;
}
.program td li p{
  margin-bottom: 0;
}
.program td li span{
  font-weight: normal;
}

.sec05 .contents_box03 {
  text-align: center;
  margin-bottom: 60px;
}
.sec05 .contents_box03 p + p {
  margin-top: 25px;
}
.sec05 .contents_box03 .inner_box{
  margin-bottom: 80px;
}
.sec05 .contents_box03 .inner_box:last-child{
  margin-bottom: 40px;
}
.sec05 .contents_box03 .contents_sub_inner_ttl{
  margin: 0 auto 46px;
  border-top: 1px solid #434344;
  border-bottom: 1px solid #434344;
  padding: 6px 0 8px;
  color: #231815;
  font-size: 4.37rem;
  font-weight: 600;
	font-family: 'Noto Sans JP', serif;
  text-align: center;
  width: 806px !important;
}
@media screen and (min-width: 1680px) {
  .sec05 .contents_box01 {
    background-position: center bottom;
    background-size: contain;
  }
}

/* ------------------------------
*  sec07
------------------------------ */
.sec07 {
  overflow: hidden;
}
.sec07 .contents-inner{
  padding-left: 25px;
  padding-right: 25px;
  margin: 0 auto 26px;
}
.sec07 .contents-title {
  font-size: 5rem;
  line-height: 1.2;
  padding-top: 0;
}
.sec07 .contents-title .font-gos{
  font-size: 3.1rem;
	font-family: 'Noto Sans JP', serif;
}
.sec07 .sign{
  text-align: right;
  padding: 10px 30px 0
}
.sec07 .wrap{
  position: relative;
  padding-bottom: 30px;
}
.sec07 .txt{
	padding: 46px 0 0 25px;
  width: 525px;
}
.sec07 .txt p,
.sec07 .contents-inner p{
	font-size: 1.67rem;
}
.sec07 .txt p + p,
.sec07 .contents-inner p + p{
	margin-top: 25px;
}
.sec07 .fig1{
  position: relative;
  right:-30px;
  margin-bottom: 0;
}
.sec07 .sec07_list{
  margin: 25px 0;
}
.sec07 .sec07_list li{
  font-size: 1.87rem !important;
}
.sec07 .sec07_list li + li{
  margin-top: 8px;
}
.sec07 .contents_box01 {
  padding: 37px 0 56px;
  margin: -445px auto 0;
}
.sec07 .contents_box01 .contents-wrap {
	margin: 0 auto 0;
	padding: 31px 0 52px;
}
.sec07 .contents_box01 .txt2 {
  padding-left: 40px;
  margin-bottom: 26px;
}

.sec07 .sec07_middle{
	background: url("../img/sec04_bg.jpg") no-repeat center top / cover;
  border-top: 6px solid #49B7D0;
  border-image: linear-gradient(to right, #C271AC 0%, #49B7D0 100%);
  border-image-slice: 1;
  height: 1026px;
  border-left-width: 0;
  border-right-width: 0;
  border-bottom-width: 0;
}
.sec07 .sec07_middle .bg_wrap{
  width: 950px;
  margin:0 auto;
}
.sec07 .sec07_middle .bg_wrap .section-title img {
	display: none;
}
.sec07 .sec07_middle .bg_wrap .section-title {
  z-index: 3;
	background: url(../img/sec07_main.png) no-repeat center top;
	height: 528px;
  margin-top: 46px;
}

.txt2 p.cl_pink_bd{
  font-size: 2.4rem;
  font-weight: bold;
  color:#e5265c;
  text-align: center;
  margin-bottom: 10px;
}

/* ------------------------------
*  online
------------------------------ */
.online_box{
  margin:0 auto;
}
.online_box p.cl_pink_bd{
  font-size: 2.4rem;
  font-weight: bold;
  color:#e5265c;
  text-align: center;
  margin-bottom: 10px;
}
.online_box table{
  width: 824px;
  margin:0 auto 35px;
  pading:0;
  border: 1px solid #a5a5a5;
  border-collapse: collapse;
}
.online_box table th,
.online_box table td{
  border-bottom: 1px solid #a5a5a5;
}

.online_box table th:nth-child(1){
  width: 320px;
}
.online_box table th:nth-child(2){
  width: 504px;
}
.online_box table th{
  padding: 4px 0 3px 27px;
  background-color: #5686db;
  color:#fff;
  font-weight: bold;
  font-size: 1.6rem;
}
.online_box table td{
  padding: 10px 0 10px 27px;
  margin:0 auto;
  font-size: 1.7rem;
}


@media screen and (max-width : 1024px){
  .sec03 .subbox-wrap.left_flex{
    padding-right: 320px;
  }
  .sec03 .contents-subtxt .ud_yellow{
    font-size: 4rem;
  }
}

/* ----------------------------------------------------------------------------------------------------
*  SP
* --------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
	body {
		min-width: inherit;
	}
	figure {
		width: 100%;
		text-align: center;
	}
	img {
		display: block;
		margin: 0 auto;
		max-width: 100%;
		height: auto;
	}
	p {
		font-size: 1.5rem;
	}

	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
	.txt {
		font-size: 1.4rem;
	}
  .f_size5{
    font-size: 3.6rem !important;
  }

  /* ------------------------------
      adjust
  ------------------------------ */
  .mb26{
    margin-bottom: 5%;
  }
  .mb40{
    margin-bottom: 8%;
  }
  .mt60{
    margin-top: 10%;
  }
  
	/* ------------------------------
	*  header
	------------------------------ */
  header{
    background: #f7f7f5;
  }
  header .header-cv{
    display: none;
    min-width: inherit;
  }
  header .header-bg{
    background-image: none;
    height: auto;
    min-width: inherit;
  }
  header .header-wrap{
    width: 100%;
  }
	header .main-title.sp img {
		display: block;
		width: 100%;
	}
	header .main-title {
		height: auto;
		line-height: 0;
    margin-bottom: 5%;
	}
  header .obi{
    margin-top: 0;
  }
  .cta_btn{
    padding:5% 1%;
    text-align: center;
  }

	/* ------------------------------
	*  footer
	------------------------------ */
	.footer{
		padding: 4% 0;
	}
	.footer > .flex{
		display: block;
	}
	.footer ul{
		justify-content: center;
	}
	.footer ul li,
	.footer ul li a{
		font-size: 1.2rem;
	}
	.footer p.copy{
		font-size: 1rem;
	}

	/* ------------------------------
	*  main
	------------------------------ */
	p.obi {
		height: auto;
		line-height: 0;
	}
  .contents-title {
    padding: 5% 0;
    height:auto;
    line-height: 1.26;
  }
  .contents-subtxt{
    line-height: 1.26;
  }
  .contents-wrap {
    width: 100% !important;
  }

	/* ------------------------------
	*  form box
	------------------------------ */
	.box_input {
		width: 98%;
    margin-bottom: 5%;
	}
  .box_input th,
  .box_input td {
    display:block;
    width:100%;
  }
  .box_input th {
    font-size: 1.6rem;
    border-bottom: none;
    padding: 3% 0 2%;
  }
  .box_input td {
    padding: 0 0 3% 0;
  }
  .box_input td .rei {
    font-size: 1.2rem;
    padding-left: 2.4rem;
    padding-top: 0;
  }
  .box_input td .rei.pt3{
    display: block;
    padding-top: 3px !important;
  }
  .box_input td .rei.pdl0 {
    padding-left: 0;
  }
  .box_input td .subtx,
  .box_input td .subtx2{
    font-size: 1.4rem;
    padding-left: 0;
    padding-right: 1rem;
  }
  .box_input th .must {
    position: relative;
    font-size: 1.2rem;
    line-height: 1.8;
    margin-left: 1em;
    right: auto;
    top: -.2em;
    text-align: center;
  }
  
  input[type="text"] {
    padding:3% 0 3% 3%;
    background-color: #fff;
    border: 1px solid #000;
  }
  select {
    width: 100%;
    height:46px;
    font-size: 1.6rem;
    margin-bottom: 1%;
  }
  /* radio */
  .check_wrap {
    display: block;
  }
    .check_wrap > div {
      min-width: 9em;
      padding:.2em 0;
    }
    input[type='radio'] + label,
    input[type='checkbox'] + label {
      display: inline-block;
      width: 90%;
      font-size: 1.6rem;
      margin-right: 1em;
    }
    input[type='radio'] + label::before,
    input[type='checkbox'] + label::before {
      top: .12em;
    }

    input[type='radio']:checked + label::after,
    input[type='checkbox']:checked + label::after {
      left: 4px;
      top: 6px;
    }
  /* -radio */
  
  .box_input .wide1 input{
    width: 100%;
  }
  .box_input .wide2 input{
    width: 90%;
  }
  .box_input .wide2 li{
    display: block;
    margin-bottom: 3%;
  }
.form_txt {
	width: 96%;
  height: 100px;
  margin-bottom: 5%;
}
form_txt p, a, dt, dd, li {
	font-size: 1.2rem !important;
}
	input[type="button"] {
		width: 100%;
		margin: auto;
		padding-top: 12%;
		background: url(../img/sp/btn_cta.png) 50% 50% no-repeat;
		background-size: contain;
	}
  
  .submit_bg{
    width: 100%;
    height: 100%;
    padding: .8% .8%;
    border-radius: 3px;
  }

  

	/* ------------------------------
	*  sec01
	------------------------------ */
	.sec01 {
		padding: 5% 0 8%;
		min-height: auto;
	}
  .sec01 .ttl{
    font-size: 8vw;
    margin: 12% auto 5%;
  }
  .sec01 .contents-wrap {
    padding: 5% 3%;
  }
  .sec01 ul.check_list {
    margin-bottom: 8%;
  }
  .sec01 ul.check_list li {
    margin-bottom: 5%;
    font-size: 1.6rem !important;
    background-size: 20px;
  }
  .sec01 ul.voice_list {
    margin-bottom: 5%;
  }
  .sec01 ul.voice_list li {
    padding-bottom: 3%;
  }
  .sec01 ul.voice_list li + li{
    margin-top: 3%;
  }
  .sec01 ul.voice_list li p{
    font-size: 1.5rem;
  }
  .sec01 ul.voice_list li p.tx{
    font-size: 1.5rem;
    padding-left: 2.4rem;
  }
  .sec01 ul.voice_list li p.tx::before{
    top: -.4rem;
    font-size: 2rem;
  }
  .sec01 .contents-subtxt{
    font-size: 2.6rem;
    padding: 8% 0;
  }
  .sec01 p + p {
    margin-top: 5%;
  }
  .sec01 .contents-wrap .movie_box{
    padding: 0 0 3%;
  }
  .sec01 .contents-wrap .voice_box,
	.sec01 .contents-wrap .movie{
		position: relative;
		width: 100%;
    padding: 5% 3% 3%;
    margin:0 auto 2%;
	}
  .sec01 .contents-wrap .voice_ttl,
  .sec01 .contents-wrap .movie .mv_ttl{
    font-size: 1.9rem;
    text-align: left;
    margin-bottom: 3%;
  }
  .sec01 .contents-wrap .movie .mv_ttl.-sm,
  .sec01 .contents-wrap .voice_ttl.-sm{
    font-size: 1.9rem;
    white-space: normal;
  }
	.sec01 .contents-wrap .movie_inn{
		position: relative;
		padding-top: 56.51%;
    margin:0 auto 2%;
	}
	.sec01 .contents-wrap .movie_inn iframe {
		width: 100% !important;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
  .sec01 .contents-wrap .sub_txt,
  .sec01 .contents-wrap .movie_box .sub_txt{
    width: 100%;
    font-size: 1rem;
    text-align: left;
  }
  
  .sec01 .contents-wrap .voice_box + .voice_box{
     margin-top: 5%;
  }
  .sec01 .contents-wrap .voice_name{
    font-size: 1.62rem;
    margin-top: 2%;
    margin-bottom: 5%;
    line-height: 1.26;
  }
  .sec01 .contents-wrap .voice_detail{
    flex-direction: column;
    gap: 5% 0;
  }
  .sec01 .contents-wrap .voice_detail .img{
    margin: 0 auto 5%;
    width: 68%;
  }
  .sec01 .contents-wrap .voice_detail .txt{
    margin-bottom: 3%;
  }
  .sec01 .contents-wrap .voice_detail .txt p{
    font-size: 1.5rem;
  }
  .sec01 .contents-wrap .voice_detail .txt p + p{
    margin-top: 5%;
  }

  

	/* ------------------------------
	*  sec02
	------------------------------ */
  .sec02 .sec02_body01 {
    background-image: url(../img/sec02_bg1.png) , none;
    background-size: 60%;
    height: auto;
  }
  .sec02 .sec02_body02 {
    padding-bottom: 5%;
    background-size: auto;
    background-position: top 0 center;
  }
	.sec02 .flex {
		 display: block;
	}
  .sec02 .contents-wrap {
    padding: 5% 3% 3%;
  }
  .sec02 p + p {
    margin-top: 5%;
  }
  .sec02 .contents-title {
    font-size: 8vw;
  }
  .sec02 .contents-subtxt {
    font-size: 2.8rem;
    padding: 6% 3% 6%;
  }

  .sec02 .sec02box_01{
    padding-top: 5%;
  }
  .sec02 .sec02box_01 .txt_box,
  .sec02 .sec02_body02 .txt_box{
    padding-left: 2vw;
    padding-right: 2vw;
  }
  .sec02 .sec02box_01 .fig_box{
    padding-left: 2vw;
    padding-right: 2vw;
    margin: 3% auto;
  }
  .sec02 .sec02box_01 .fig_box p{
    width: 100%;
    margin-top: 2% !important;
  }
  .sec02 .sec02box_01 .fig_box p:first-child{
    margin-right: 0;
  }
  .sec02 .sec02_body02 .fl1{
    padding-right: 2vw;
    padding-left: 0;
    padding-top: 3%;
    margin: 0 auto -3%;
    width: 100%;
  }
  .sec02 .sec02_body02 .fl1 img{
    width: 90%;
  }
  .sec02 .sec02_body02 .fr1{
    width: 100%;
  }
/* ボード */
  .sec02 .cw_board_pink {
    width:100%;
    padding:5% 0 5%;
  }
  .sec02 .cw_board_wh {
    width: 96.5%;
    padding: 5% 3%;
  }
  .sec02 .cw_board_wh .bd_clip{
    width:150px;
    top: -25px;
  }
  .sec02 .contents-sub-title {
    padding: 5% 0 8%;
  }
  .sec02 .cw_board_pink .txt_box {
    padding: 0 0;
  }
  .sec02 .sec02_body02 .fl2{
    width: 100%;
    padding-right: 0;
  }
  .sec02 .sec02_body02 .fr2{
    width: 100%;
    padding-right: 0;
  }
  .sec02 .sec02_body02 .fr2 img{
    width: 86%;
  }
  .sec02 .sec02_body02 .fr2 figcaption{
    font-size: 1.2rem;
    margin-top: 5px;
  }
  /* vs */
  .sec02 .sub-phbox-wrap{
    width: 100%;
    margin: 0 auto 8%;
    padding: 3% 0 16%;
  }
  .sec02 .sub-phbox-wrap.flex{
    display: flex;
  }
  .sec02 .sub-phbox-wrap figcaption{
    font-size: 1.3rem;
    line-height: 1.4;
    margin-top: 2%;
    text-align: left;
  }
  .sec02 .sub-phbox-wrap.vs01 figure{
    margin: 0 2%;
  }
  .sec02 .sub-phbox-wrap.vs02 figure{
    margin: 0 5%;
  }
  .sec02 .sub-phbox-wrap::after{
    background: url("../img/sp/img_vs.png") no-repeat top center;
    width: 40px;
    height: 40px;
  }
  .sec02 .sub-phbox-wrap .sub_txt{
    bottom: 5%;
    padding: 0 3%;
    font-size: 1.2rem !important;
    line-height: 1.2;
  }
  @media screen and (orientation: landscape) and (max-width: 767px){
  .sec02 .sub-phbox-wrap{
      padding: 3% 0 9%;
    }
  }

/* ------------------------------
*  sec03
------------------------------ */
.sec03 .contents-title {
  font-size: 6vw;
  height: auto;
  padding: 5% 0;
}
.sec03 .contents_box01 {
  background: none;
  padding-bottom: 3%;
}
.sec03 .subbox-wrap{
  padding-top: 5%;
  padding-bottom: 3%;
}
.sec03 .subbox-wrap.left_flex{
  width: 100%;
  padding-left: 2vw;
  padding-right: 2vw;
}
.sec03 .subbox-wrap p + p{
  margin-top: 5%;
}
.sec03 .contents-subtxt{
  padding: 1% 0 4%;
}
.sec03 .contents-subtxt .ud_yellow{
  font-size: 6.4vw;
}
.sec03 .contents_box02{
  position: relative;
  padding-top: 15%;
  margin-bottom: 5%;
}
.sec03 .contents_box02 .element_left_box,
.sec03 .contents_box02 .element_right_box{
  padding: 5% 0 5%;
  margin: 0 auto 10%;
  background-size: 110%;
}

.sec03 .contents_box02 .ptpb72{
  padding: 5% 0 12%;
}
.sec03 .contents_box02 .pt72{
  padding: 5% 0 5%;
}
.sec03 .contents_box02 .mb100{
  margin-bottom: 10%;
}
.sec03 .contents_box02 .element_inn{
  width: 100%;
  display: block;
}
.sec03 .contents_box02 .element_left_box .txt{
  width: 100%;
  padding-left: 3.8vw;
  padding-right: 3.4vw;
}
.sec03 .contents_box02 .element_left_box .img_box{
  width: 100%;
  padding: 5% 8%;
}
.sec03 .contents_box02 .img_box.mt-24,
.sec03 .contents_box02 .img_box.mt-38{
  margin-top: 0;
}
.sec03 .contents_box02 .element_right_box .txt,
.sec03 .contents_box02 .element_right_box .txt.w{
  width: 100%;
  padding-left: 3.8vw;
  padding-right: 3.4vw;
}
.sec03 .contents_box02 .element_right_box .txt.w p{
  padding-right: 0;
}
.sec03 .contents_box02 .element_right_box .img_box{
  width: 100%;
  padding: 5% 0;
}
.sec03 .contents_box02 .element_right_box .img_box img{
  width: 83%;
}
.sec03 .contents_box02 .element_inn .sec03_ttl{
  font-size: 2.4rem;
  margin-bottom: 5%;
}
.sec03 .contents_box02 .element_inn .sec03_ttl::before{
  font-size: 6rem;
  top: -62px;
  left: 5px;
}
.sec03 .contents_box02 .element_inn p{
  font-size: 1.5rem;
}
.sec03 .contents_box02 .element_inn p + p{
  margin-top: 5%;
}
.sec03 .contents_box02 .sub_txt{
  right: 0;
  bottom: 5%;
  font-size: 1.1rem !important;
}
.android .sec03 .contents_box02 .sub_txt{
  padding: 0 3vw;
  bottom: 4%;
}



	/* ------------------------------
	*  sec04
	------------------------------ */
  .sec04 .flex{
    display: block;
  }
  .sec04 .sec04_top{
    height: auto;
    padding-top: 56%;
    background-size: 110%;
  }
  .sec04 .sec04_top .bg_wrap{
    width: 100%;
  }
  .sec04 p + p{
    margin-top: 5%;
  }
  .sec04 .sec04_top .bg_wrap .section-title img {
    display: block;
    width: 90%;
    margin-left: -1%;
  }
  .sec04 .sec04_top .bg_wrap .section-title {
    height: auto;
    background: none;
    margin-top: -50%;
    padding-left: 5%;
  }
  .sec04 .contents-wrap{
    margin: 0 auto 10%;
    padding:5% 3%;
  }
  .sec04 .txt_box{
    padding: 0 0;
  }
  .sec04 .contents-inner{
    width: 100%;
    padding-bottom: 5%;
    margin: 0 auto 5%;
  }
  .sec04 .contents-inner .inner_ttl.flex{
    display: flex;
  }
  .sec04 .contents-inner .inner_ttl{
    margin-bottom: 3%;
  }
  .sec04 .contents-inner .inner_ttl p{
    text-align: left;
    padding-right: 3%;
    width: 20%;
  }
  .sec04 .contents-inner .inner_ttl .contents-subtitle{
    color:#e6007f;
    font-size: 2rem;
    padding-top: 0;
    padding-left: 0;
    width: 80%;
  }
  .sec04 .contents-inner .inner_ttl .contents-subtitle.single{
    padding-top: 0;
  }
	@media (orientation: landscape) {
		.sec04 .contents-inner .inner_ttl .contents-subtitle {
      font-size: 2.8rem;
      padding-top: 2.5%;
		}
    .sec04 .contents-inner .inner_ttl .contents-subtitle.single{
      padding-top: 5.6%;
    }
	}
  .sec04 .contents-inner .txt_r{
    padding-left: 0;
  }
  .sec04 .contents-inner .txt_l{
    padding-right:0;
  }
  .sec04 .contents-inner .fig_r,
  .sec04 .contents-inner .fig_l{
    padding-top: 5%;
  }
  .sec04 .contents-inner .fig_r img,
  .sec04 .contents-inner .fig_l img{
    width: 92%;
  }

	/* ------------------------------
	*  sec05
	------------------------------ */
	.sec05 {
		padding-bottom: 5%;
	}
	.sec05 .flex {
		 display: block;
	}
  .sec05 .contents-inner{
    padding-left: 2vw;
    padding-right: 2vw;
  }
  .sec05 .contents-title {
    font-size: 8vw;
    height: auto;
    padding: 1.6% 0 5%;
  }
  .sec05 .contents-title .font-gos{
    font-size: 4vw;
    margin-bottom: 3%;
  }
  .sec05 .contents_box01 {
    background: none;
    padding-top: 5%;
  }
  .sec05 .contents_box01 .txt_box{
    padding-left: 2vw;
    padding-right: 2vw;
    width: 100%;
  }
  .sec05 .contents_box01 .txt_box p + p{
    margin-top: 5%;
  }
  .sec05 .contents_box01 .wrap .fig2{
    width:100%;
    padding: 0 5%;
    text-align: center;
    margin-bottom: 0;
    left:0;
    top:0;
  }
  .sec05 .contents_box02 {
    margin-bottom: 8%;
  }
  .sec05 .contents-subtxt {
    font-size: 6vw;
    padding: 5% 0;
  }
  .sec05 .contents_box02 .contents-inner p + p{
    margin-top: 5%;
  }
  .sec05 .contents_box02 ul.step {
    padding:3% 3% 0;
  }  
  .sec05 .contents_box02 .step li {
    margin-bottom: 3%;
    font-size: 1.8rem !important;
    line-height: 1.4;
  }
  .sec05 .contents-subtitle {
    margin:5% auto;
  }
  .sec05 .contents_box02 .txt_l{
    padding-right: 0;
    margin-bottom: 5%;
  }
  .sec05 .contents_box02 .fig_r img{
    width: 92%;
  }
  .program{
    width: 96%;
    margin:0 auto 5%;
  }
  .program th{
    padding:3% 0;
    position: relative;
  }
  .program th span{
    font-size: 2rem;
    margin:0 46px;
  }
    .android .program th span{
      font-size: 1.9rem;
      margin:0 36px;
    }
  .program th span:first-child::after{
    top: 5px;
    left: 45.5%;
    width:33px;
    height:33px;
    content: url(../img/sp/sec05_arrow.png);
  }
  .program td{
    padding:3%;
    width:50%;
  }
  .program td p.mds{
    font-size: 1.8rem;
    line-height: 1.4;
  }
  .program td li{
    font-size: 1.3rem !important;
    line-height: 1.4;
    margin-bottom: 2%;
    padding-left: 0;
  }
  .program td li p{
    font-size: 1.4rem;
  }
  .program td li span{
    font-size: 1.3rem;
  }

.sec05 .contents_box03 {
  margin-bottom: 5%;
}
.sec05 .contents_box03 p + p {
  margin-top: 5%;
}
.sec05 .contents_box03 .inner_box{
  margin-bottom: 8%;
}
.sec05 .contents_box03 .inner_box:last-child{
  margin-bottom: 5%;
}
.sec05 .contents_box03 .contents_sub_inner_ttl{
  width: 90% !important;
  margin-bottom: 5%;
  padding: 3% 0;
  font-size: 7.2vw;
  line-height: 1.2;
}

	/* ------------------------------
	*  sec07
	------------------------------ */
  .sec07 .contents-title {
    font-size: 8vw;
    height: auto;
    padding: 1.6% 0 5%;
    margin-bottom: 5%;
  }
  .sec07 .contents-inner{
    padding-left: 2vw;
    padding-right: 2vw;
    margin: 0 auto 5%;
  }
  .sec07 .contents-title .font-gos{
    font-size: 4vw;
    margin-bottom: 3%;
  }
	.sec07 .flex {
		 display: block;
	}
  .sec07 .sign{
    padding:3% 0 0;
  }
  .sec07 .sign img{
    display: inline-block;
    width: 220px;
  }
  .sec07 .wrap{
    padding-bottom: 5%;
  }
  .sec07 .txt{
    padding: 5% 2vw 0 2vw;
    width: 100%;
  }
  .sec07 .txt p,
  .sec07 .contents-inner p{
    font-size: 1.5rem;
  }
  .sec07 .txt p + p,
  .sec07 .contents-inner p + p{
    margin-top: 5%;
  }
  .sec07 .fig1{
    right:0;
  }
  .sec07 .fig1 img{
    width: 60%;
    margin: auto;
  }
  .sec07 .sec07_list{
    margin: 5% 0;
  }
  .sec07 .sec07_list li{
    font-size: 1.8rem !important;
  }

  .sec07 .contents_box01 {
    padding: 3% 0 5%;
    margin: -5% auto 0;
  }
  .sec07 .contents_box01 .contents-wrap {
    padding: 5% 3% 3%;
  }
  .sec07 .contents_box01 .txt2 {
    padding-left: 2vw;
    padding-right: 2vw;
    margin-bottom: 5%;
  }

  .sec07 .sec07_middle{
      height: auto;
      padding-top: 56%;
      background-size: 105%;
  }
  .sec07 .sec07_middle .bg_wrap{
      width: 100%;
  }
  .sec07 .sec07_middle .bg_wrap .section-title img {
      display: block;
      width: 90%;
      margin-left: -1%;
  }
  .sec07 .sec07_middle .bg_wrap .section-title {
      height: auto;
      background: none;
      margin-top: -50%;
      padding-left: 5%;
  }

/* ------------------------------
*  online
------------------------------ */
  .online_box{
    margin:0 auto;
  }
  .online_box p.cl_pink_bd{
    font-size: 2rem;
    margin-bottom: 3%;
  }
  .online_box table{
    width: 96%;
    margin:0 auto 5%;
  }
  .online_box table th:nth-child(1),
  .online_box table th:nth-child(2){
    width: 50%;
  }
  .online_box table th{
    padding: 3%;
    font-size: 1.4rem;
  }
  .online_box table td{
    padding: 3%;
    font-size: 1.4rem;
  }
  
}

	/* ------------------------------
	*  thanks
	------------------------------ */
.thanks{
  background: #F0F2F7;
}
.thanksWrap .contents_box01{
	padding: 50px 0;
}
.thanksWrap .contents_box01 .contents-wrap{
	padding: 3em 0;
  width:950px;
  margin: 0 auto 2em;
}
.thanksWrap .contents-title{
  background: url("../img/sec03_boardbg_pk.png") repeat center top;
	font-size: 5rem;
  color: #333;
}
.thanksWrap .ttl{
	font-weight: bold;
	font-size: 2.4rem;
	text-align: center;
}
.thanksWrap .txt{
	padding: 0 40px;
	margin: 40px 0;
  text-align: center;
  line-height: 1.6;
}
.thanksWrap .btn{
	width: 300px;
	text-align: center;
	margin: 0 auto;
}
.thanksWrap .btn a{
	display: block;
	background: #F2136B;
	color: #fff;
	line-height: 1.0;
	font-size: 1.8rem;
	border-radius: .3em;
	padding: 1em 0;
	transition: 0.3s;
}

@media screen and (max-width: 767px) {
	
  .thanksWrap .contents_box01 .contents-wrap{
    width:90% !important;
  }
  .thanksWrap .contents-title{
    font-size: 3.2rem;
  }
	.thanksWrap .contents_box01 .txt{
		width: 100%!important;
		text-align: justify;
		margin: 5% auto 8%;
    padding:0 20px;
	}
	.thanksWrap .ttl{
		font-size: 2.0rem;
		margin-bottom: 1em;
	}
	.thanksWrap .btn{
		width: 92%;
	}
	.thanksWrap .btn a{
		font-size: 1.6rem;
	}
}

/* ------------------------------
*  fixbtn
------------------------------ */
.fixbtn{
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
    padding: 10px 0;
    max-width: 100%;
    z-index: 10;
}
.fixbtn img{
    max-width:100%;
    margin: 0 auto;
}

@media screen and (max-width : 768px){
  .fixbtn{
    padding: 3% 0;
  }
  .fixbtn img{
    max-width:88%;
  }
}



