@charset "utf-8";
#tag {
 position: relative;
 width: 100%;
 height: 100%;
 overflow: hidden;
}
/*___________ common ___________ */
html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, header, hgroup, section, article, aside, hgroup, footer, figure, figcaption, nav {
 margin: 0;
 padding: 0;
 text-align: left;
 margin: 0;
 font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', sans-serif;
}
body {
 -webkit-text-size-adjust: none;
 margin: 0px;
 padding: 0px;
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
 display: block;
}
a {
 text-decoration: none;
}
a:hover {
 text-decoration: none;
}
img {
 border: 0;
 vertical-align: bottom;
}
ul, ol, li {
 list-style: none;
}
table {
 border-spacing: 0;
 empty-cells: show;
}
/* ---------- wrapper ---------- */
#wrapper {
 width: 100%;
 margin-top: 0px;
 margin-bottom: 0px;
 margin-right: auto;
 margin-left: auto;
}
/* ---------- header ---------- */
header {
 position: relative;
 padding: 0px;
 margin: 0px;
 display: flex;
 justify-content: space-between;
 align-items: center;
 background: #1c509a;
}

#logo_img {
 /* position: absolute;
 top: 2vw;
 left: 0px; */
     width: calc(100% - 161px);
}
.header_right {
	    width: 161px;
    padding: 0;
    height: 80px;
}
/* ---------- footer ---------- */
footer {
 margin: auto auto auto auto;
 text-align: center;
 background-color: #555555;
 padding: 0px 0px 10px 0px;
 /*position: fixed;*/
 bottom: 0;
 width: 100%;
}
footer .contents {
	width: 90%;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 10px;
    border-bottom: 1px solid #fff;
    padding-bottom: 20px;
}
footer p {
 font-size: 50%;
 line-height: 14px;
 color: #fff;
}
footer .icon {
 margin-right: 10px;
 height: 30px;
 background-color: #fff;
 padding: 5px;
}

footer ul {
 list-style: none;
 padding: 0;
 margin: 10px auto 5px auto;
 text-align: center;
}
footer ul li {
 list-style: none;
 margin: auto 10px;
 display: inline-block;
 font-size: 70%;
}
footer ul li a {
 color: #fff;
}
footer .copy {
 color: #fff;
 text-align: center;
 font-size: 70%;
}


/* ---------- container ---------- */
#container {
 margin: 0px;
 padding: 0px;
}
.fv_pt {
	background: #d9eefd;
    position: relative;
    padding-top: 5vw;
}
.fv_pt p {
	position: absolute;
    top: 5vw;
    left: 8vw;
    color: #1ca89e;
    font-size: 5.2vw;
}
.select_box {
	border: 1px solid #357fe8;
	border-radius: 10px;
	height: auto;
	min-height: 30px;
	padding: 10px;
	display: flex;
	align-items: center;
	justify-self: unset;
	margin-bottom: 20px;
}

.select_box p {
	width: calc(100% - 15px);
}
.select_box img {
	width: 15px;
}

.slidePanel {
    box-sizing: border-box;
    width: 100%;
    height: 100vh;
    background: #0005;
    position: fixed;
    top: 100vh;
    left: 0;
    z-index: 1000;
    transition: all 0.2s ease-in-out;
}
.slidePanel.active {
    top: 0;
	display: block;
}
.slidePanel .slidePanelInner {
	background: #fff;
	box-sizing: border-box;
    width: calc(100% - 30px);
	height: calc(100vh - 165px);
    margin: 15px auto;
    border-radius: 5px;
    padding-bottom: 30px;
}

.slidePanel .slidePanelInner ul {
	background: #fff;
	box-sizing: border-box;
    width: 100%;
    height: auto;
	max-height: calc(100vh - 210px);
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}

.slidePanel .ttl01 {
    height: 43px;
    color: #1c509a;
    font-size: 15px;
    font-weight: bold;
    line-height: 43px;
    background: #ecf5fc;
    padding-left: 10px;
    position: relative;
}

.slidePanel .ttl01 .clsBtn {
    width: 25px;
    height: 25px;
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto 0;

}
.slidePanel .ttl01 .clsBtn:before {
    transform: rotate(45deg);
}
.slidePanel .ttl01 .clsBtn:after {
    transform: rotate(-45deg);
}
.slidePanel .ttl01 .clsBtn:before, 
.slidePanel .ttl01 .clsBtn:after {
    content: "";
    display: block;
    width: 21px;
    height: 2px;
    background: #1c509a;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
.slidePanel .ttl02, 
.slidePanel ul li {
    border-bottom: 1px solid #DDD;
    padding: 13px 10px 10px 15px;
    display: flex;
    align-items: center;
}
.slidePanel ul li.title {
	background: #ecf5fc;
    border-bottom: none;
}
.slidePanel ul li.noborder {
    border-bottom: none;
}

.slidePanel ul li label {
    box-sizing: border-box;
    display: inline-block;
    width: 100%;
    color: #1c509a;
    font-size: 15px;
    line-height: 1;
    vertical-align: bottom;
	margin-left: 10px;
}

.slidePanel ul li.title label {
	background: #ecf5fc;
    border-bottom: none;
	font-weight: bold;
	margin-left: 0;
}

.slidePanel .selectBtn {
    display: none;
    box-sizing: border-box;
    width: 100%;
    height: 87px;
    text-align: center;
    background: rgba(17, 17, 17, 0.5);
    position: fixed;
    left: 0;
    bottom: 0;
    padding: 23px 0 18px;
    transition: all 0.2s ease-in-out;
}
.slidePanel.active .selectBtn {
    bottom: 0;
    display: block;
}
.slidePanel .selectBtn button {
	width: 75%;
    line-height: 50px;
    font-size: 105%;
    font-weight: bold;
    text-align: center;
	background: url(img/arrow_btn.svg), linear-gradient(to bottom, rgba(135, 206, 28, 1) 0%, rgba(72, 188, 22, 1) 100%);
	background-repeat: no-repeat;
    background-position: 100%;
    border-radius: 25px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    border: solid 1px #48BC16;
    box-shadow: rgb(0 0 0 / 50%) 0px 1px 2px, rgb(255 255 255 / 70%) 0px 0px 1px inset;
    padding: 0 50px;
	color: #fff;
}
.update_time {
	text-align: right;
	padding: 15px 15px;
	background-color: #d9eefd;
	color: #347ee8;
	font-size: 12px;
}


.slidePanel ul li input[type="checkbox"] { 
	position: absolute; 
	overflow: hidden; 
	clip: rect(0 0 0 0); 
	height: 1px; 
	width: 1px; 
	margin: -1px; 
	padding: 0; 
	border: 0; 
}
.slidePanel ul li input[type="checkbox"] + label { 
	position: relative; 
	font-size: 14px; 
	cursor: pointer; 
	display: inline-flex; 
	align-items: center; 
	height: 22px; 
}
.slidePanel ul li input[type="checkbox"] + label::before { 
	content: " ";
    display: inline-block;
    vertical-align: middle;
	margin-right: 10px;
    width: 14px;
    height: 14px;
    border-width: 1px;
    border-style: solid;
    border-color: #347ee8;
    border-radius: 2px;
    box-shadow: none;
}
.slidePanel ul li input[type="checkbox"]:checked + label::after { 
	content: " ";
    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBmaWxsPSIjZmZmZmZmIiBkPSJNMTczLjg5OCA0MzkuNDA0bC0xNjYuNC0xNjYuNGMtOS45OTctOS45OTctOS45OTctMjYuMjA2IDAtMzYuMjA0bDM2LjIwMy0zNi4yMDRjOS45OTctOS45OTggMjYuMjA3LTkuOTk4IDM2LjIwNCAwTDE5MiAzMTIuNjkgNDMyLjA5NSA3Mi41OTZjOS45OTctOS45OTcgMjYuMjA3LTkuOTk3IDM2LjIwNCAwbDM2LjIwMyAzNi4yMDRjOS45OTcgOS45OTcgOS45OTcgMjYuMjA2IDAgMzYuMjA0bC0yOTQuNCAyOTQuNDAxYy05Ljk5OCA5Ljk5Ny0yNi4yMDcgOS45OTctMzYuMjA0LS4wMDF6Ii8+PC9zdmc+);
    background-repeat: no-repeat;
    background-size: 12px 12px;
    background-position: center center;
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 0px;
    left: 0px;
    top: 0px;
    text-align: center;
    font-size: 10px;
    height: 19px;
    width: 19px;
	background-color: #347ee8; 
}


/* ---------- form ---------- */
.step_title {
 float: left;
 line-height: 20px;
 padding-right: 20px;
 font-size: 90%;
 padding-left: 30px;
 font-weight: bold;
 color: #E7E7E7;
}
.stepimg_1 {
 text-align: center;
 display: none;
}
.stepimg {
 margin-top: 10px;
 text-align: center;
 display: none;
}
.hand {
 width: 46px;
 position: absolute;
 top: 15px;
 animation: moveX 1.2s linear 0s infinite;
 -ms-animation: moveX 1.2s infinite alternate linear;
 -webkit-animation: moveX 1.2s infinite alternate linear;
 -moz-animation: moveX 1.2s infinite alternate linear;
 transition: 0.3s;
 z-index: 100;
}
@keyframes moveX {
 0%, 100% {
  transform: translate(0, 0) scale(1);
 }
 50% {
  transform: translate(-15px, 0) scale(1.08);
 }
}
@-ms-keyframes moveX {
 0%, 100% {
  transform: translate(0, 0) scale(1);
 }
 50% {
  transform: translate(-15px, 0) scale(1.08);
 }
}
@-webkit-keyframes moveX /* Safari and Chrome */ {
 0%, 100% {
  transform: translate(0, 0) scale(1);
 }
 50% {
  transform: translate(-15px, 0) scale(1.08);
 }
}
@-moz-keyframes moveX /* Firefox */ {
 0%, 100% {
  transform: translate(0, 0) scale(1);
 }
 50% {
  transform: translate(-15px, 0) scale(1.08);
 }
}
/* ---------- step1 ---------- */
#step1 {
 padding: 0;
 width: 85%;
 margin: auto;
}
#step1 h2 {
 font-size: 1.2rem;
 color: #1c509a;
 padding: 0px;
 text-align: center;
 height: 50px;
 line-height: 50px;
 position: relative;
 margin: 20px 0px 10px 0px;
}
#step1 ul.button-check {
	margin: 0;
    font-size: 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#step1 ul.button-check li {
 width: 48%;
 margin: 0 0 3vw 0;
 text-align: center;
 display: inline-block;
}
#step1 ul.button-check li input[type="checkbox"] {
 display: none;
}
#step1 ul.button-check li label {
	text-align: center;
    margin: auto;
    width: 100%;
    height: 140px;
    font-size: 14px;
    box-sizing: border-box;
    font-family: ArialMT, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3";
    font-weight: bold;
    line-height: 18px;
    padding-top: 90px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #383948;
    border-radius: 5px;
    border: solid 1px #357fe8;
}
#step1 ul.button-check li label span {
	font-size: 10px;	
}

#step1 ul.button-check li label {
 box-shadow: 2px 2px 10px -3px rgba(0, 0, 0, 0.6);
}
#step1 ul.button-check li input[type="checkbox"]:checked + label {
 background-color: #005EAA;
 color: #FFF;
 border: solid 1px #005EAA;
}


#step1 ul.button-check li.btn-1 label {
	background-image: url("img/step1_icon_01_color.png");
	background-color: #FFF;
	opacity: 0.8;
	background-repeat: no-repeat;
	background-size: 75%;
	background-position: 50% 15%;
	box-shadow: 2px 2px 10px -3px rgba(0, 0, 0, 0.6);
}

#step1 ul.button-check li.btn-2 label {
	background-image: url("img/step1_icon_02_color.png");
	background-color: #FFF;
	opacity: 0.8;
	background-repeat: no-repeat;
	background-size: 75%;
	background-position: 50% 15%;
	box-shadow: 2px 2px 10px -3px rgba(0, 0, 0, 0.6);
}

#step1 ul.button-check li.btn-3 label {
	background-image: url("img/step1_icon_03_color.png");
	background-color: #FFF;
	opacity: 0.8;
	background-repeat: no-repeat;
	background-size: 75%;
	background-position: 50% 15%;
	box-shadow: 2px 2px 10px -3px rgba(0, 0, 0, 0.6);
}

#step1 ul.button-check li.btn-4 label {
	background-image: url("img/step1_icon_04_color.png");
	background-color: #FFF;
	opacity: 0.8;
	background-repeat: no-repeat;
	background-size: 75%;
	background-position: 50% 15%;
	box-shadow: 2px 2px 10px -3px rgba(0, 0, 0, 0.6);
}

#step1 ul.button-check li.btn-5 label {
	background-image: url("img/step1_icon_05_color.png");
	background-color: #FFF;
	opacity: 0.8;
	background-repeat: no-repeat;
	background-size: 75%;
	background-position: 50% 15%;
	box-shadow: 2px 2px 10px -3px rgba(0, 0, 0, 0.6);
}

#step1 ul.button-check li.btn-6 label {
	background-image: url("img/step1_icon_06_color.png");
	background-color: #FFF;
	opacity: 0.8;
	background-repeat: no-repeat;
	background-size: 75%;
	background-position: 50% 15%;
	box-shadow: 2px 2px 10px -3px rgba(0, 0, 0, 0.6);
}

#step1 ul.button-check li.btn-7 label {
	background-image: url("img/step1_icon_07_color.png");
	background-color: #FFF;
	opacity: 0.8;
	background-repeat: no-repeat;
	background-size: 75%;
	background-position: 50% 15%;
	box-shadow: 2px 2px 10px -3px rgba(0, 0, 0, 0.6);
}
#step1 ul.button-check li.btn-8 label {
	background-image: url("img/step1_icon_08_color.png");
	background-color: #FFF;
	opacity: 0.8;
	background-repeat: no-repeat;
	background-size: 75%;
	background-position: 50% 15%;
	box-shadow: 2px 2px 10px -3px rgba(0, 0, 0, 0.6);
}
#step1 ul.button-check li.btn-9 label {
	background-image: url("img/step1_icon_09_color.png");
	background-color: #FFF;
	opacity: 0.8;
	background-repeat: no-repeat;
	background-size: 75%;
	background-position: 50% 15%;
	box-shadow: 2px 2px 10px -3px rgba(0, 0, 0, 0.6);
}
#step1 ul.button-check li.btn-10 label {
	background-image: url("img/step1_icon_10_color.png");
	background-color: #FFF;
	opacity: 0.8;
	background-repeat: no-repeat;
	background-size: 75%;
	background-position: 50% 15%;
	box-shadow: 2px 2px 10px -3px rgba(0, 0, 0, 0.6);
}




/* ---------- step2 ---------- */
#step2 {
 padding: 0 0 10px 0;
 width: 85%;
 margin: auto;
}
#step2 h2 {
 font-size: 1.2rem;
 color: #1c509a;
 padding: 0px;
 text-align: center;
 height: 50px;
 line-height: 50px;
 position: relative;
 margin: 20px 0px 10px 0px;
}
#step2 .add_contents {
 margin: auto;
 padding: 20px;
 border-radius: 5px;
 border: solid 1px #373948;
 box-shadow: 2px 2px 10px -3px rgba(0, 0, 0, 0.6);
}
#step2 .add_contents .key {
 font-size: 70%;
 text-align: center;
 margin: auto auto 20px auto;
}
#step2 .add_contents .key img {
 width: 14px;
 vertical-align: middle;
 margin: -2px 5px auto auto;
}
#step2 .add_contents .number {}
#step2 .add_contents .text {
 font-size: 90%;
 text-align: left;
 color: #383948;
 margin: auto auto 16px auto;
}




.number-contents{
}
.number-contents input[type=tel] {
 outline: none;
 -webkit-appearance: none;
 -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  width: 90%;
 height: 50px;
 padding: 0 8px;
 border: none;
 background-color: #ffffe1;
 font-weight: 400;
 font-size: 1rem;
    
 border-radius: 8px;
 border: 1px solid #cbcbcb;
}





#step2 .add_contents .number_no {
 font-size: 11px;
 display: block;
 width: auto;
 float: right;
 margin: 0 auto 20px auto;
 padding: 0 20px;
 line-height: 40px;
 background-image: #fff;
 text-align: center;
 border-radius: 5px;
}
#step2 .add_contents .number_no {
 position: relative;
}
#step2 .add_contents .number_no::after {
 content: "";
 display: block;
 width: 5px;
 height: 5px;
 position: absolute;
 right: 10px;
 top: 40%;
 border-bottom: #000 1px solid;
 border-right: #000 1px solid;
 transform: rotate(45deg)translateY(-30%);
}

.select_area {
	position: relative;
    border: 1px solid #357fe8;
    border-radius: 5px;
}
.select_area:after {
	content: "▼";
    padding: 0px 0px;
    position: absolute;
    right: 5px;
    top: 1px;
    z-index: 1;
    text-align: center;
    width: 10%;
    height: 98%;
    pointer-events: none;
    border-radius: 10px;
    background-color: #fff;
    color: #357fe8;
    display: flex;
    align-items: center;
    justify-content: center;
}
#step2 .add_contents .addarea {
 margin: 0px;
 padding: 0px;
 display: block;
}
#step2 .add_contents .addarea select {
 font-size: 12pt;
 /* -webkit-appearance: none;
 appearance: none; */
 text-overflow: "";
 width: 100%;
 height: 50px;
 outline: none;
 padding: 0 5%;
 /* border: 1px solid #cbcbcb; */
 border: none;
 background-color: #fff;
 border-radius: 8px;
 margin: auto auto 5px auto;
    font-weight: 800;
}
#step2 .add_contents input[type=text] {
 outline: none;
 -webkit-appearance: none;
 -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
 width: 90%;
 height: 50px;
 font-size: 16px;
 padding: 0 5%;
 border: 1px solid #cbcbcb;
 background-color: #f8f8f8;
 border-radius: 8px;
    font-weight: 800;
}

#step2 .add_contents input[type=text]::-moz-placeholder {
 font-size: 80%;
 color: #bfbfbf;
 font-weight: normal;
}
#step2 .add_contents input[type=text]::-webkit-input-placeholder {
 font-size: 80%;
 color: #bfbfbf;
 font-weight: normal;
}
#step2 .add_contents input[type=text]:-ms-input-placeholder {
 font-size: 80%;
 color: #bfbfbf;
 font-weight: normal;
}
#step2 .comment {
 margin: 10px auto auto auto;
 display: flex;
 justify-content: space-between;
}
#step2 .comment .icon {
 border-radius: 25px;
 height: 50px;
 width: 50px;
 border: 2px solid #CCE7FD;
 background-image: url("img/icon_woman.jpg");
 background-size: cover;
}
#step2 .comment .textbox {
 position: relative;
 width: 65%;
 background: #CCE7FD;
 padding: 12px 5px;
 text-align: center;
 color: #424242;
 font-size: 11px;
 border-top-right-radius: 5px;
 border-top-left-radius: 5px;
 border-bottom-right-radius: 5px;
}
#step2 .comment .textbox:after {
 content: '';
 height: 0;
 width: 0;
 pointer-events: none;
 position: absolute;
 border-color: rgba(255, 222, 226, 0);
 border-top-width: 9px;
 border-bottom-width: 9px;
 border-left-width: 23px;
 border-right-width: 23px;
 border-right-color: #CCE7FD;
 right: 100%;
 bottom: 0%;
 border-style: solid;
 border-width: 0 0 10px 20px;
 border-color: transparent transparent #CCE7FD transparent;
}
/* ---------- ステップ4 ---------- */
#step3 {
 padding: 0 0 10px 0;
 width: 85%;
 margin: auto;
}
#step3 h2 {
 font-size: 1.2rem;
 color: #1c509a;
 padding: 0px;
 text-align: center;
 height: 50px;
 line-height: 50px;
 position: relative;
 margin: 20px 0px 10px 0px;
}
#step3 .step_4_contents {
 margin: auto;
 padding: 20px;
 border-radius: 5px;
 border: solid 1px #373948;
 box-shadow: 2px 2px 10px -3px rgba(0, 0, 0, 0.6);
}
#step3 .step_4_contents .key {
 font-size: 70%;
 text-align: center;
 margin: auto auto 20px auto;
}
#step3 .step_4_contents .key img {
 width: 14px;
 vertical-align: middle;
 margin: -2px 5px auto auto;
}
#step3 .step_4_contents .block{
    margin: auto auto 20px auto;
}
#step3 .step_4_contents .text {
 font-size: 90%;
 text-align: left;
 color: #383948;
 margin: auto auto 10px auto;
}
#step3 .step_4_contents .text img {
 width: 14px;
 vertical-align: middle;
 margin: -2px 5px auto auto;
}
#step3 .step_4_contents input[type=text] {
 outline: none;
 -webkit-appearance: none;
 -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
 width: 90%;
 height: 50px;
 font-size: 21px;
 padding: 0 5%;
 border: 1px solid #cbcbcb;
 background-color: #ffffe1;
 border-radius: 8px;
    font-weight: 800;
}


#step3 .comment {
 margin: 10px auto auto auto;
 display: flex;
 justify-content: space-between;
}
#step3 .comment .icon {
 border-radius: 25px;
 height: 50px;
 width: 50px;
 border: 2px solid #f7cd1e;
 background-image: url("img/icon_woman.jpg");
 background-size: cover;
}
#step3 .comment .textbox {
 position: relative;
 width: 65%;
 background: #f7cd1e;
 padding: 12px 5px;
 text-align: center;
 color: #424242;
 font-size: 11px;
 border-top-right-radius: 5px;
 border-top-left-radius: 5px;
 border-bottom-right-radius: 5px;
}
#step3 .comment .textbox:after {
 border: solid transparent;
 content: '';
 height: 0;
 width: 0;
 pointer-events: none;
 position: absolute;
 border-color: rgba(255, 222, 226, 0);
 border-top-width: 9px;
 border-bottom-width: 9px;
 border-left-width: 23px;
 border-right-width: 23px;
 border-right-color: #f7cd1e;
 right: 100%;
 bottom: 0%;
 border-style: solid;
 border-width: 0 0 10px 20px;
 border-color: transparent transparent #f7cd1e transparent;
}

.birthday-contents{
 outline: none;
 -webkit-appearance: none;
 -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
 width: 90%;
 height: 50px;
 padding: 0 5%;
 border: 1px solid #cbcbcb;
 background-color: #ffffe1;
 border-radius: 8px;
    font-weight: 800;
 font-size: 1.2rem;
}
.birthday-contents span{
    font-weight: normal;
 font-size: 90%;
}
.birthday-contents input[type=tel] {
 outline: none;
 -webkit-appearance: none;
 -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
 width: 60%;
 height: 50px;
 padding: 0 5%;
 border: none;
 background-color: #ffffe1;
    font-weight: 800;
 font-size: 1.2rem;
}



/* ---------- step_5 ---------- */
#step4 {
 padding: 0 0 10px 0;
 width: 85%;
 margin: auto;
}
#step4 h2 {
 font-size: 1.2rem;
 color: #1c509a ;
 padding: 0px;
 text-align: center;
 height: 50px;
 line-height: 50px;
 position: relative;
 margin: 20px 0px 10px 0px;
}
#step4 .step_5_contents {
 margin: auto;
 padding: 20px;
 border-radius: 5px;
 border: solid 1px #373948;
 box-shadow: 2px 2px 10px -3px rgba(0, 0, 0, 0.6);
}
#step4 .step_5_contents .block{
    margin: auto auto 20px auto;
}
#step4 .step_5_contents .key {
 font-size: 70%;
 text-align: center;
 margin: auto auto 20px auto;
}
#step4 .step_5_contents .key img {
 width: 14px;
 vertical-align: middle;
 margin: -2px 5px auto auto;
}
#step4 .step_5_contents .midashi,
#step4 .step_5_contents .midashi-2{
 font-size: 90%;
 text-align: left;
 color: #383948;
 margin: auto auto 15px auto;
}
#step4 .step_5_contents .midashi img,
#step4 .step_5_contents .midashi-2 img{
 width: 14px;
 vertical-align: middle;
 margin: -2px 5px auto auto;
}
#step4 .step_5_contents .hissu{
 color: #FFFFFF;
 background-color: #f45775;
 font-size: 70%;
    padding: 4px 4px;
 margin: auto auto auto 10px;
}


#step4 .step_5_contents input[type=tel] {
 outline: none;
 -webkit-appearance: none;
 -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
 width: 90%;
 height: 50px;
 font-size: 16px;
 padding: 0 5%;
 border: 1px solid #cbcbcb;
 background-color: #f8f8f8;
 border-radius: 8px;
 font-weight: 800;
 font-size: 21px;
}



#step4 .step_5_contents input[type=email] {
 outline: none;
 -webkit-appearance: none;
 -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
 width: 90%;
 height: 50px;
 font-size: 21px;
 padding: 0 5%;
 border: 1px solid #cbcbcb;
 background-color: #f8f8f8;
 border-radius: 8px;
 line-height: 1.4;

}

#step4 .step_5_contents input[type=email]::placeholder {
 font-size: 80%;
    color: #CCCCCC;
}


#step4 .use_icon{
  display: inline-block;
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}




#step4 ul.button-check {
 margin: auto;
}
#step4 ul.button-check li {
 width: 96%;
 margin: auto auto 6px auto;
 text-align: center;
    padding: 0% 2%;
 display: flex;
    justify-content: space-between;
 background-color: #f8f8f8;
 border-radius: 8px;
}

#step4 ul.button-check li input[type="radio"] {
    margin: 14px 10px 14px 10px;
}
#step4 ul.button-check li label {
 display: block;
 text-align: left;
 margin: auto;
 width: 100%;
 height: 30px;
 line-height: 30px;
 font-size: 14px;
 font-weight: bold;
 box-sizing: border-box;
 font-family: ArialMT, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3";
 color: #969696;
}
#step4 ul.button-check li .image {
 width: 50px;
 vertical-align: middle;
  margin: auto 10px auto 10px;
}
#step4 ul.button-check li .image img {
    
}

  
#step4 ul.button-check input[type="radio"] {
	display: none;
}

.radio-text:before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-right: 6px;
	border-width: 1px;
	border-style: solid;
	border-radius: 50%;
	padding: 2px;
	background-clip: content-box;
}

#step4 ul.button-check input[type="radio"]:not(:checked) + .radio-text:before {
	border-color: #72767b;
}

#step4 ul.button-check input[type="radio"]:checked + .radio-text:before {
	border-color: #cbcbcb;
	background-color: #e8536f;
}




/* ---------- エラー ---------- */
.error_message_0, .error_message_1, .error_message_3_1, .error_message_3_2, .error_message_3_3 {
 padding: 5px;
 background-color: #FFD7D7;
 color: #FF0004;
 font-size: 90%;
 border: 1px solid #FF0004;
 border-radius: 5px;
 text-align: center;
 margin-top: 15px;
 margin-bottom: 0px;
 display: none;
}
.error_message_1_1, .error_message_1_2 {
 padding: 5px;
 background-color: #FFD7D7;
 color: #FF0004;
 font-size: 90%;
 border: 1px solid #FF0004;
 border-radius: 5px;
 text-align: center;
 margin-top: 15px;
 margin-bottom: 0px;
 display: none;
}
.error_message_2_1, .error_message_2_2 {
 padding: 5px;
 background-color: #FFD7D7;
 color: #FF0004;
 font-size: 90%;
 border: 1px solid #FF0004;
 border-radius: 5px;
 text-align: center;
 margin-top: 5px;
 margin-bottom: 0px;
 display: none;
}
.error_message_4 {
 padding: 5px;
 background-color: #FFD7D7;
 color: #FF0004;
 font-size: 90%;
 border: 1px solid #FF0004;
 border-radius: 5px;
 text-align: center;
 margin-top: 5px;
 margin-bottom: 10px;
 display: none;
}
.error_message_4_1, .error_message_4_2, .error_message_4_3 {
 padding: 5px;
 background-color: #FFD7D7;
 color: #FF0004;
 font-size: 90%;
 border: 1px solid #FF0004;
 border-radius: 5px;
 text-align: center;
 margin-top: 15px;
 margin-bottom: 10px;
 display: none;
}
#step1 {
 position: relative;
}
#step2 {
 position: relative;
}
#step2 {
 position: relative;
}
#step3 {
 position: relative;
}
/* ----------（step1）オフ ---------- */
.next_step_0_off {
 width: 180px;
 height: 50px;
 line-height: 50px;
 font-size: 105%;
 font-weight: bold;
 text-align: center;
 background-color: #dddddd;
 background: url("img/arrow_btn.svg") linear-gradient(to bottom, #dddddd 16%, #dddddd 69%);
 background: url(img/arrow_btn.svg), -webkit-linear-gradient(top, #dddddd 16%, #dddddd 69%);
 background: url(img/arrow_btn.svg), -moz-linear-gradient(top, #dddddd 16%, #dddddd 69%);
 background-repeat: no-repeat;
 background-position: 90%;
 border-radius: 25px;
 position: absolute;
 bottom: 0%;
 left: 50%;
 transform: translateX(-50%);
 border: solid 1px #cccccc;
 padding: 0 50px;
}
.next_step_0_off a {
 color: #fff;
}
/* ---------- （step1）オン ---------- */
.next_step_0 {
 width: 180px;
 line-height: 50px;
 font-size: 105%;
 font-weight: bold;
 text-align: center;
 background: rgb(135, 206, 28);
 background: url(img/arrow_btn.svg), -moz-linear-gradient(top, rgba(135, 206, 28, 1) 0%, rgba(72, 188, 22, 1) 100%);
 background: url(img/arrow_btn.svg), -webkit-linear-gradient(top, rgba(135, 206, 28, 1) 0%, rgba(72, 188, 22, 1) 100%);
 background: url(img/arrow_btn.svg), linear-gradient(to bottom, rgba(135, 206, 28, 1) 0%, rgba(72, 188, 22, 1) 100%);
 background-repeat: no-repeat;
 background-position: 100%;
 border-radius: 25px;
 position: absolute;
 bottom: 0%;
 left: 50%;
 transform: translateX(-50%);
 border: solid 1px #48BC16;
 box-shadow: rgba(0, 0, 0, 0.5) 0px 1px 2px, rgba(255, 255, 255, 0.7) 0px 0px 1px inset;
 padding: 0 50px;
}
.next_step_0 a {
 color: #fff;
}
/* ----------（step2）オフ ---------- */
.next_step_1_off {
 width: 180px;
 height: 50px;
 line-height: 50px;
 font-size: 105%;
 font-weight: bold;
 text-align: center;
 background-color: #dddddd;
 background: url("img/arrow_btn.svg") linear-gradient(to bottom, #dddddd 16%, #dddddd 69%);
 background: url(img/arrow_btn.svg), -webkit-linear-gradient(top, #dddddd 16%, #dddddd 69%);
 background: url(img/arrow_btn.svg), -moz-linear-gradient(top, #dddddd 16%, #dddddd 69%);
 background-repeat: no-repeat;
 background-position: 100%;
 border-radius: 25px;
 position: absolute;
 bottom: 0%;
 left: 50%;
 transform: translateX(-50%);
 border: solid 1px #cccccc;
 padding: 0 50px;
}
.next_step_1_off a {
 color: #fff;
}
/* ---------- （step2）オン ---------- */
.next_step_1 {
 width: 180px;
 line-height: 50px;
 font-size: 105%;
 font-weight: bold;
 text-align: center;
 background: rgb(135, 206, 28);
 background: url(img/arrow_btn.svg), -moz-linear-gradient(top, rgba(135, 206, 28, 1) 0%, rgba(72, 188, 22, 1) 100%);
 background: url(img/arrow_btn.svg), -webkit-linear-gradient(top, rgba(135, 206, 28, 1) 0%, rgba(72, 188, 22, 1) 100%);
 background: url(img/arrow_btn.svg), linear-gradient(to bottom, rgba(135, 206, 28, 1) 0%, rgba(72, 188, 22, 1) 100%);
 background-repeat: no-repeat;
 background-position: 100%;
 border-radius: 25px;
 position: absolute;
 bottom: 0%;
 left: 50%;
 transform: translateX(-50%);
 border: solid 1px #48BC16;
 box-shadow: rgba(0, 0, 0, 0.5) 0px 1px 2px, rgba(255, 255, 255, 0.7) 0px 0px 1px inset;
 padding: 0 50px;
}
.next_step_1 a {
 color: #fff;
}
/* ----------（step2）オフ ---------- */
.next_step_2_off {
 width: 180px;
 height: 50px;
 line-height: 50px;
 font-size: 105%;
 font-weight: bold;
 text-align: center;
 background-color: #dddddd;
 background: url("img/arrow_btn.svg") linear-gradient(to bottom, #dddddd 16%, #dddddd 69%);
 background: url(img/arrow_btn.svg), -webkit-linear-gradient(top, #dddddd 16%, #dddddd 69%);
 background: url(img/arrow_btn.svg), -moz-linear-gradient(top, #dddddd 16%, #dddddd 69%);
 background-repeat: no-repeat;
 background-position: 100%;
 border-radius: 25px;
 position: absolute;
 bottom: 0%;
 left: 50%;
 transform: translateX(-50%);
 border: solid 1px #cccccc;
 padding: 0 50px;
}
.next_step_2_off a {
 color: #fff;
}
/* ---------- （step2）オン ---------- */
.next_step_2 {
 width: 180px;
 line-height: 50px;
 font-size: 105%;
 font-weight: bold;
 text-align: center;
 background: rgb(135, 206, 28);
 background: url(img/arrow_btn.svg), -moz-linear-gradient(top, rgba(135, 206, 28, 1) 0%, rgba(72, 188, 22, 1) 100%);
 background: url(img/arrow_btn.svg), -webkit-linear-gradient(top, rgba(135, 206, 28, 1) 0%, rgba(72, 188, 22, 1) 100%);
 background: url(img/arrow_btn.svg), linear-gradient(to bottom, rgba(135, 206, 28, 1) 0%, rgba(72, 188, 22, 1) 100%);
 background-repeat: no-repeat;
 background-position: 100%;
 border-radius: 25px;
 position: absolute;
 bottom: 0%;
 left: 50%;
 transform: translateX(-50%);
 border: solid 1px #48BC16;
 box-shadow: rgba(0, 0, 0, 0.5) 0px 1px 2px, rgba(255, 255, 255, 0.7) 0px 0px 1px inset;
 padding: 0 50px;
}
.next_step_2 a {
 color: #fff;
}

/* ----------（step3）オフ ---------- */
.next_step_3_off {
 width: 180px;
 height: 50px;
 line-height: 50px;
 font-size: 105%;
 font-weight: bold;
 text-align: center;
 background-color: #dddddd;
 background: url("img/arrow_btn.svg") linear-gradient(to bottom, #dddddd 16%, #dddddd 69%);
 background: url(img/arrow_btn.svg), -webkit-linear-gradient(top, #dddddd 16%, #dddddd 69%);
 background: url(img/arrow_btn.svg), -moz-linear-gradient(top, #dddddd 16%, #dddddd 69%);
 background-repeat: no-repeat;
 background-position: 100%;
 border-radius: 25px;
 position: absolute;
 bottom: 0%;
 left: 50%;
 transform: translateX(-50%);
 border: solid 1px #cccccc;
 padding: 0 50px;
}
.next_step_3_off a {
 color: #fff;
}
/* ---------- （step3）オン ---------- */
.next_step_3 {
 width: 180px;
 line-height: 50px;
 font-size: 105%;
 font-weight: bold;
 text-align: center;
 background: rgb(135, 206, 28);
 background: url(img/arrow_btn.svg), -moz-linear-gradient(top, rgba(135, 206, 28, 1) 0%, rgba(72, 188, 22, 1) 100%);
 background: url(img/arrow_btn.svg), -webkit-linear-gradient(top, rgba(135, 206, 28, 1) 0%, rgba(72, 188, 22, 1) 100%);
 background: url(img/arrow_btn.svg), linear-gradient(to bottom, rgba(135, 206, 28, 1) 0%, rgba(72, 188, 22, 1) 100%);
 background-repeat: no-repeat;
 background-position: 100%;
 border-radius: 25px;
 position: absolute;
 bottom: 0%;
 left: 50%;
 transform: translateX(-50%);
 border: solid 1px #48BC16;
 box-shadow: rgba(0, 0, 0, 0.5) 0px 1px 2px, rgba(255, 255, 255, 0.7) 0px 0px 1px inset;
 padding: 0 50px;
}
.next_step_3 a {
 color: #fff;
}






/* ---------- （step4）オフ ---------- */
.finish_step_3_off {
 width: 300px;
 height: 60px;
 line-height: 24px;
 font-size: 110%;
 font-weight: bold;
 text-align: center;
 background-color: #dddddd;
    
 background: url(img/arrow_btn.svg), -moz-linear-gradient(to bottom, #dddddd 16%, #dddddd 69%);
 background: url(img/arrow_btn.svg), -webkit-linear-gradient(top, #dddddd 16%, #dddddd 69%);
 background: url(img/arrow_btn.svg), linear-gradient(top, #dddddd 16%, #dddddd 69%);
 background-repeat: no-repeat;
 background-position: 100%;
    
 border-radius: 30px;
 position: absolute;
 bottom: 0%;
 left: 50%;
 transform: translateX(-50%);
}
.finish_step_3_off a {
 color: #fff;
}

/* ---------- ボタン（step_最後） ---------- */
.finish_step_3 {
 width: 300px;
 height: 60px;
 line-height: 24px;
 font-size: 110%;
 font-weight: bold;
 text-align: center;
 background: rgb(135, 206, 28);
 background: url(img/arrow_btn.svg), -moz-linear-gradient(top, rgba(135, 206, 28, 1) 0%, rgba(72, 188, 22, 1) 100%);
 background: url(img/arrow_btn.svg), -webkit-linear-gradient(top, rgba(135, 206, 28, 1) 0%, rgba(72, 188, 22, 1) 100%);
 background: url(img/arrow_btn.svg), linear-gradient(to bottom, rgba(135, 206, 28, 1) 0%, rgba(72, 188, 22, 1) 100%);
 background-repeat: no-repeat;
 background-position: 100%;
 border-radius: 30px;
 position: absolute;
 bottom: 0%;
 left: 50%;
 transform: translateX(-50%);
 border: solid 1px #48BC16;
 box-shadow: rgba(0, 0, 0, 0.5) 0px 1px 2px, rgba(255, 255, 255, 0.7) 0px 0px 1px inset;
}
.finish_step_3 a {
 color: #fff;
}

.cvtext {
  font-size: 60%;
}
.cvtext2 {
  font-size: 90%;
}






/* ---------- 戻るボタン ---------- */
.previous_step_1 {
 width: 36px;
}
.previous_step_1 a {
 color: #A6A6A6;
 position: absolute;
 bottom: -40px;
 left: 50%;
 transform: translateX(-50%);
 text-decoration: underline;
 font-size: 90%;
}
.previous_step_1 a::before {
 content: "< "
}
.previous_step_2 {
 width: 36px;
}
.previous_step_2 a {
 color: #A6A6A6;
 position: absolute;
 bottom: -40px;
 left: 50%;
 transform: translateX(-50%);
 text-decoration: underline;
 font-size: 90%;
}
.previous_step_2 a::before {
 content: "< "
}

.previous_step_3 {
 width: 36px;
}
.previous_step_3 a {
 color: #A6A6A6;
 position: absolute;
 bottom: -40px;
 left: 50%;
 transform: translateX(-50%);
 text-decoration: underline;
 font-size: 90%;
}
.previous_step_3 a::before {
 content: "< "
}

.previous_step_4 {
 width: 36px;
}
.previous_step_4 a {
 color: #A6A6A6;
 position: absolute;
 bottom: -40px;
 left: 50%;
 transform: translateX(-50%);
 text-decoration: underline;
 font-size: 90%;
}
.previous_step_4 a::before {
 content: "< "
}



.previous_step_1_off, 
.previous_step_2_off, 
.previous_step_3_off, 
.previous_step_4_off {
 width: 36px;
}
.previous_step_1_off a, 
.previous_step_2_off a, 
.previous_step_3_off a, 
.previous_step_4_off a {
 color: #A6A6A6;
 margin-top: 20px;
}
#ytag img {
 display: none;
}
.overlay {
 display: none;
 position: fixed;
 top: 0;
 left: 0;
 z-index: 10;
 height: 100%;
 width: 100%;
 background: #000;
 opacity: 0.5;
 filter: alpha(opacity=90);
 -moz-opacity: 0.90;
}


/* ---------- thanks ---------- */
#thanks {
	margin: 0;
	padding: 20px;
}
#thanks .title {
	font-size: 100%;
	font-weight: bold;
	color: #005EAA;
	margin-bottom: 10px;
    text-align: center;
}
#thanks p {
	font-size: 90%;
}
#thanks .btn-tel {
	text-align: center;
	margin-top: 15px;
	margin-bottom: 15px;
	background-color: #005EAA;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}
#thanks .btn-tel span {
	font-size: 80%;
	color: #005EAA;
}
#thanks .btn-tel a {
	color: #FFFFFF;
	display: block;
	padding-top: 15px;
	padding-bottom: 15px;
}
#thanks .btn-text {
	text-align: center;
	margin-top: 5px;
	margin-bottom: 15px;
	font-size: 70%;
	color: #666666;
}
#thanks .btn-top {
	text-align: center;
	margin-top: 15px;
	margin-bottom: 15px;
	background-color: #BABABA;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}
#thanks .btn-top a {
	color: #FFFFFF;
	display: block;
	padding-top: 15px;
	padding-bottom: 15px;
}
#thanks .btn-search {
	text-align: center;
	margin-top: 15px;
	margin-bottom: 15px;
	background-color: #005EAA;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}
#thanks .btn-search a {
	color: #FFFFFF;
	display: block;
	padding-top: 15px;
	padding-bottom: 15px;
}


.dlg-box {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;    
	top: 0;
    left: 0;
	z-index: 100;
}


.dlg-box .dlg-bk {
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
}

.dlg-box .dlg-content {
	width: 90%;
    margin-left: 5%;
    height: auto;
    position: absolute;
	top: calc(50% - 32vw);
    background-color: #fff;
    border-radius: 10px;
    box-sizing: border-box;
	font-size: 4.5vw;
    line-height: 7vw;
	font-weight: bold;
	font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3";
}

.dlg-box .dlg-content .cwhite {
	color: #fff;
}

.dlg-box .dlg-content .dlg-tpt {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
    background-color: #347ee8;
    border-radius: 10px 10px 0 0;
}

.dlg-box .dlg-content .dlg-tpt p {
	padding: 4vw;
	color: #395169;
}
.dlg-box .dlg-content .dlg-tpt img {
	width: 23vw;
    height: auto;
    object-fit: contain;
    padding: 0 0 0 6vw;
}

.dlg-box .dlg-content .dlg-bpt {
    padding: 6vw;
}
.dlg-box .dlg-content .dlg-bpt p {
    text-align: center;
	color: #1c509a;
}

.dlg-box .dlg-content .dlg-bpt .btn_dlg {
    margin: 4vw auto 0 auto;
	cursor: pointer;
	border: none;
	color: #707070;
	display: block;
	width: 60vw;
	padding: 0;
    line-height: 50px;
    font-size: 105%;
    font-weight: bold;
    text-align: center;
    border-radius: 25px;
	background: #fde058;
	/* background-image: linear-gradient(#b6e27f, #52be17); */
    box-shadow: rgb(227, 187, 1, 1) 0px 4px 2px, rgb(255, 255, 255, 0.7) 0px 0px 1px inset;
	font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3";
	
}

.dlg-box .dlg-content .dlg-seltpt {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #347ee8;
	color: #fff;
	padding: 15px 10px;
	border-radius: 10px 10px 0 0;
    font-size: 4.5vw;
}
.dlg-box .dlg-content .dlg-selbpt {
	padding: 20px 40px;
	border-radius: 10px;
}
.dlg-box .dlg-content .dlg-selbpt .btn_dlg {
	margin: 15px 0;
    width: 100%;
    display: block;
    padding: 15px;
    border: 2px solid #347ee8;
    border-radius: 50px;
    font-size: 4vw;
    font-weight: bold;
    color: #347ee8;
    background-color: #fff;
}
#dlg_select_box .dlg-content {
    top: calc(50% - 120px);
}


.in-box {
	border: 1px solid #357fe8;
	border-radius: 5px;
	padding: 14px 5px 9px 5px;
	position: relative;
}

.in-box .desc-box {
	position: absolute;
    top: -9px;
    right: -1px;
    border: 1px solid #383948;
    padding: 0px 20px;
    border-radius: 10px;
    background-color: #f9f9f9;
    font-size: 10px;
}

.in-box.active {
	border: 2px solid #4386fc;
	
}

.in-box .ex-txt {
	/* visibility: hidden;
	color: #bfbfbf;
	font-size: 11px;    
	margin-bottom: 5px; */
	transform: translate(35px, 1px);
	transition: transform .2s ease-out;
    transform-origin: left center;
	margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    font-size: 13px;
    color: #bfbfbf;
    pointer-events: none;
}

#in-box-04 .ex-txt {
	transform: translate(10px, 1px);
}
#in-box-04-year .ex-txt {
	transform: translate(10px, 1px);
}
#in-box-05 .ex-txt {
	transform: translate(10px, 1px);
}
#in-box-05-mail  {
	border: 1px solid #c5c5c5;
}
#in-box-05-mail .ex-txt {
	transform: translate(30px, 4px);
}


.in-box.active .ex-txt {
	visibility: visible;
    transform: translate(10px, -19px) scale(calc(0.692306)) !important;
}
.in-box.noempty .ex-txt {
	visibility: visible;
    transform: translate(10px, -19px) scale(calc(0.692306)) !important;
}



.in-box .in-box-input {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.in-box .in-box-input span {
	font-size: 25px;
    line-height: 1.4;
    font-weight: bold;
}
.in-box.active .in-box-input input {
    /* border-left: 3px solid #4386fc !important; */
	
}

.in-box.active .in-box-input input {
    /* border-left: 3px solid #347ee8 !important; */
	
}
.in-box .in-box-input input {
	border: none !important;
	background-color: #fff !important;
	height: auto !important;
	border-radius: 0 !important;
	width: 100%;
    outline: none;
	padding: 0 8px 0 0 !important;
	font-size: 21px;
	font-weight: bold;
	line-height: 1.4;
	margin-left: 5px;
}
.cred {
	color: #f00;
}
