@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');

/* 初期設定リセット */
*{margin: 0;padding: 0}

/* ボックスサイズ調整 */
*, *:before, *:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
}

ul, ol {
margin: 1em auto;
list-style-position: inside;
padding: 0.5em
}

.box ul, .box img {margin: 0 auto !important;}


/* 基本設定 */
html,body {
margin: 0;
padding: 0;
width : 100%;
height: 100%;
}

body {
overflow-x: hidden;
color: #362e2b;
padding: 0;
}

.letter {
max-width: 1000px;
margin: 0px auto 100px;
baclground: #fff;
display: block;
position: relative;
}

.content {
max-width: 800px;
margin: 0px auto;
}

.logo {
position: absolute;
top: 0;
right: 50px;

}

div, p {font-family: 'Noto Sans JP', sans-serif;}



.head {background: #373030; padding: 5px ;}

.head img {
display:block;
max-width: 200px;
margin: 0;
}

.letter img {
display:block;
margin: 0 auto;
}

.headcopy {
padding-top: 100px;
margin: 0 auto -3px;
}

h1 {
font-family: 'Noto Sans JP', sans-serif;
font-weight: 700;
font-size: 38pt;
line-height: 1.25;
z-index: 3;
color: #fff;
margin: 0.25em auto 0.5em;
padding: 0;
}

h2 {
font-family: 'Noto Sans JP', sans-serif;
font-weight: 700;
font-size: 28pt;
line-height: 1.5;
z-index: 3;
color: #cc0000;
margin: 0.5em auto 0.5em;
padding: 0;
}

h2:after {
content: '';
display: block;
height: 20px;
background: #f5f5f5;
margin-top: -10px;
width: 90%;
margin-left: 10%;
}

.bridge {
background: #333;
padding: .5em;
border-radius: .25em;
display: block;
text-align: center;
text-decoration: none;
line-height: 1.25;
color: #fff;
font-family: 'Noto Sans JP', sans-serif;
font-weight: 700;
font-size: 24pt;
margin: 1.em auto;
}


.tbtn {
background: #ffcc00;
padding: 0.5em 2em;
border-radius: 3em;
display: block;
text-align: center;
text-decoration: none;
line-height: 1.25;
color: #111;
font-family: 'Noto Sans JP', sans-serif;
font-weight: 700;
max-width: 400px;
margin: 1em auto;
}

.flexright .tbtn {margin: 0 !important;padding: 0.25em 2em;}

.tbtn span {display: block;font-size: 80%;}

.banner {
width: 100%;
padding: 2em;
text-align: center;
position: relative;
z-index:-1;
background: #fff;
}

.banner .fx-row {max-width: 100%;margin: 0 auto;}

.banner img {max-width: 100%;margin-top: 30px;}

.headcopy {
text-align: left;
font-size: 1.3em;
font-weight: 700;
line-height: 1.1;
}

.hc2 {font-size: 180%;margin: 20px 0 10px;}
.hc3 {font-size: 260%;margin-bottom: 20px;}
.hc3 span {color: #c40000;}

.sub span {font-size: 150%;color: #c40000;font-weight: 700;}

h2 span {color: #111;}

/*----------画像センタリング----------*/
.img-center {display: block; margin: 0 auto;}
.text-center {text-align: center;}

/*----------背景色指定（h1、見出し背景など）----------*/
.bg-red {background: #c60000;} /*--赤--*/
.bg-blue {background: #00468b;} /*--青--*/
.bg-green {background: #649201;} /*--緑--*/
.bg-orange {background: #fe7816;} /*--オレンジ--*/
.bg-gold {background: #807109;} /*--ゴールド--*/
.bg-black {background: #222;} /*--黒--*/

/*----------ヘッダー共通----------*/

.sh0 {
position: relative;
padding: 0;
margin: -3px auto;
font-size: 1.5em;
line-height: 1;
text-align: center;
}

.sh1 {
position: relative;
padding: 1em 0;
margin: -3px auto;
font-size: 1.5em;
line-height: 1;
text-align: center;
}

.sh2 {
position: relative;
padding: 1.25em 0 1em;
margin: -3px auto;
font-size: 1.5em;
line-height: 1;
text-align: center;
background: #a4cded;
}

.sh3 {
position: relative;
padding: 1.25em 0 1em;
margin: -3px auto;
font-size: 1.5em;
line-height: 1;
text-align: center;
background: #016ba7;
}

.sh4 {
position: relative;
padding: 1em 0;
margin: -3px auto;
font-size: 1.2em;
line-height: 1;
text-align: center;
}


.keynote {
background: #f7f6f6;
padding: 1em ;
margin-bottom: 2em;
max-width: 90%;
margin: 0 auto 1.5em;
text-align: center;
}

.kninner {
border-radius: 1em;
padding: 1.5em;
margin: 0 auto;
background: #fff;
}

.kntitle {
font-family: 'Noto Sans JP', sans-serif;
font-weight: 500;
padding: 0.25em 0;
font-size: 22pt;
margin: 0 auto 0.5em;
color: #fff;
text-align: center;
line-height: 1.5em;
background: #005982;
border-radius: 5em;
}

.bookcontent {padding: 3px;}
.bookcontent div {padding: 0;}
.bookcontent [class*="fx-col-"] {
margin-top: 0 !important;
margin-bottom: 0 !important;
padding-top: 0 !important;
padding-bottom: 3px !important;
}

.bookcontent p {font-size: 0.9em;margin: 0;}

[class*="book0"] div {
border: 15px solid;
padding: 10px;
height: 100%;
margin: 0 2px;
}

p[class*="color0"] {
font-weight: bold;
border-bottom: 1px solid;
font-size: 110% !important;
}

span[class*="color0"] {
font-weight: 500;
border-bottom: none;
font-size: 100% !important;
}

.book01 div ,
.book02 div ,
.book03 div ,
.book04 div ,
.book05 div ,
.book06 div {border-color: #f5f5f5;}

p.color01 {color: #00357e;}
p.color02, span.color02{color:#007d55;}
p.color03, span.color03{color:#d28300;}
p.color04, span.color04 {color: #ca5381;}
p.color05, span.color05 {color: #c70025;}
p.color06, span.color06 {color: #7d4698;}


.voice {
padding: 1em;
background: #fbf9f6;
margin-bottom: 1em;
}
.vinner {
background: #fff;
padding: 1em;
border-radius: 0.5em;
min-height: 27em;
font-size: 90%;
}
.vheader {
font-size: 1.4em;
font-weight: 700;
background: #fff799;
display: inline-block;
padding: 0 0.25em;
margin-bottom: 0.5em;
color: #333;
}




.sh {
position: relative;
padding: 1em 0.5em;
margin: 0 auto 1em;
font-size: 1.5em;
line-height: 1;
text-align: center;
font-weight: 700;
border-top: 5px solid;
border-bottom: 5px solid #04514c;
}

#footer .brand {
position: relative;
color: #666;}




p {
max-width: 800px;
font-size: 1em;
font-weight: 400;
line-height: 1.5;
margin-top: 0;
margin-right: auto;
margin-bottom: 1.5em;
margin-left: auto;
text-align:justify;
}

.copy .red {margin: 0.4em auto 0.2em;}

.copy div {margin: 0 auto;}

.box .fx-row {margin: 1em 0;}
.box .fx-row img {margin-top: 15px;}

.box li {
font-weight: 700;
font-size: 1.2em;
}

@media screen and (max-width: 640px) {
.subject-card {
    width: 80%;
}
}

@-webkit-keyframes fadeIn {
0% {opacity: 0}
100% {opacity: 1}
}

.fadeIn, img.fadeIn {
-webkit-animation-name: 'fadeIn';
-webkit-animation-duration: 2s;
-webkit-animation-timing-function: ease-in;
-webkit-animation-iteration-count: 1;
}


.normal {font-size: 90%;}

@media screen and (max-width: 767px) {
.sp {display: block;}
.pc {display: none;}
}

@media screen and (min-width: 768px) {
.sp {display: none;}
.pc {display: block;}
}

.box {
margin: 30px auto;
padding: 0;
text-align: center;
border:15px solid #f5f5f5;
text-align: left;
background: #fff;
}


@media screen and (max-width: 468px) {
.box {
margin: 1em auto;
padding: 5px 10px;
}
.box ul {
margin: 0;
padding: 0;
line-height: 1;
}
.box li {
font-size:1em;
}
}

.boxin {
margin: 30px auto 0;
padding: 0;
text-align: center;
border:5px double #f5f5f5;
text-align: left;
background: #fff;
}


.sbox {
padding: 5px !important;
border:5px solid #eee;
border-radius: 0px;
}

.sbox ul {margin: 0;padding: 5px;font-size: 90%;}

.box_double {border: 5px double #f5f5f5;}

.bdb {border-color:#fff;}
.bdg {border-color:#608c01;}
.bdp {border-color:#004986;}

.pp p {margin: 10px 0 0;font-size: 10pt;}

.bullet {
margin: 30px auto;
padding: 2em 2em 2em;
text-align: center;
border: 15px solid #f6f2ee;
text-align: left;
border-radius: 2em;
background: #fbf9f6;
}

.bullet p.bls {font-size:1em;}

.price {
font-size: 1.6em;
text-align: center;
margin: 1em auto;
padding: 0.5em 0;
line-height: 1;
border-top: 3px dotted #ddd;
border-bottom: 3px dotted #ddd;
color: #a30000;
}

.session {
font-size: 1.4em;
margin: 0.5em;
border-bottom: 3px dotted #ddd;
padding: 10px;
line-height: 1em;
display: flex;
font-weight: bold;
}

.session span {
background: #61513e;
color: #fff;
padding: 5px 10px;
font-size:70%;
border-radius: 30px;
line-height: 1;
margin-right: 10px;
margin-top: -3px;
display: table-cell;
vertical-align:middle;
}


@media screen and (min-width: 768px) {
[class*="box"] {padding: 30px;}
}

/*----------H3見出しスタイル----------*/
.check, p.check {
background: url(../img/check.png) no-repeat left;
padding: 0.5em 0 0.5em 45px;
margin: 0 auto;
line-height: 1.25;
font-size: 1.3em;
list-style: none;
font-weight: 700;
}

.square, p.square {
margin: 30px auto;
padding: 10px 0 10px 15px;
font-size: 1.4em;
line-height: 1;
border-left: 40px solid 
}


@media screen and (max-width: 468px) {
.box_double {border: none}
.bullet {
margin: 30px auto;
padding: 0.5em 0.75em;
}
.session {
font-size: 1em;
margin: 0.5em;
border-bottom: 3px dotted #ddd;
padding: 10px 0;
line-height: 1em;
display: block;
font-weight: bold;
}

.session span {
background: #61513e;
color: #fff;
padding: 5px 10px;
font-size:60%;
border-radius: 30px;
line-height: 1;
margin-right: 10px;
margin-top: -3px;
display: block;
float: left;
}
.square, p.square {
font-size: 1em;
}
.check, p.check {
font-size: 1.05em;
}
.bullet.check, .bullet p.check {
font-size: 1.2em;
}
}

.label, p.label {
margin: 5px auto;
padding: 2px 10px;
font-size: 9pt;
line-height: 9pt;
background: #c40000;
border-radius: 1em;
color: #fff;
font-weight: 500;
}

/*----------フッター共通----------*/
#footer {
position: relative;
text-align: center;
padding: 1em 0;
margin:0;
background: #373030;
}

#footer img {max-width: 200px;margin: 1em auto 0;}

.copylight {
font-size: 0.8em;
color: #fff;
font-weight: 300;
line-height: 2;
}

@media screen and (min-width: 648px) {
#footer {}
}

#footer a {color: #fff;text-decoration: none;}

/*----------テキスト装飾----------*/
.white {color: #fff;} /*---太字色 白---*/
.red {color: #a60000;} /*---太字色 赤---*/
.blue {color: #004986;} /*---太字色 青---*/
.green {color: #608c01;} /*---太字色 緑---*/
.orange {color: #eb7a00;} /*---太字色 オレンジ---*/
.yellow {color: #ffcc00;}

.b, p.b {font-size: 110%;font-weight: 700;} /*---太字---*/
.bb, p.bb {font-size: 140%;font-weight: 700;} /*---太字大---*/
.thin {font-weight: 300;}
.big {font-size: 200%}
.line {background: #fce89a;padding: 0 0.2em;} /*---マーカー---*/
.u {
text-decoration: underline;
} /*---下線---*/

.txt-center {text-align: center;}

/*----------見出し共通----------*/
[class*="header-"] {
padding: 0.5em;
color: #fff;
margin-bottom: 1em;
-webkit-border-radius: 5px;
border-radius: 5px;
font-size: 1.2em;
}

@media screen and (max-width: 468px) {
.b, p.b {font-size: 105%;} /*---太字---*/
/*.bb, p.bb {font-size: 110%;}*/ /*---太字大---*/
.bb, p.bb {font-size: 4vw;}
[class*="header-"] {
padding: 5px 10px;
margin: 5px auto 6vw;
font-size: 1.1em;
line-height: 1;
}
.price {margin: 0;font-size: 1.2em;line-height: 1.25;}
}

/*----------見出し背景----------*/
.header-red {background: #a40000;} /*--赤--*/
.header-blue {background: #02679b;} /*--青--*/
.header-green {background: #608c01;} /*--緑--*/
.header-orange {background: #eb7a00;} /*--オレンジ--*/
.header-brown {background: #61513e;}
.header-pink {background: #CF5C78;}

.title {
max-width: 95%;
position: relative;
padding: 0.5em 0;
margin: 0em 0 2em;
font-size: 1.6em;
line-height: 1.25;
font-weight: 700;
letter-spacing: 0.1em;
border: 7px solid #004986;
text-align: center;
color: #313131;
background: #fff;
filter: drop-shadow(20px 10px 0px #003567);
}

.title img {margin: 0 auto !important;}

.title .header {
max-width: 98%;
margin: 0 auto;
font-size: 16pt;
padding: 0.25em 0;
font-weight: 300;
color: #a40000;
}

.title .header:before {
content: "";
width: 40%;
position: absolute;
top: 35%;
left: 0;
border-bottom: 15px solid #f6f2ee;
}
.title .header:after {
content: "";
width: 40%;
position: absolute;
top: 35%;
right: 0;
border-bottom: 15px solid #f6f2ee;
}

.title .label {
display: inline-block;
background: #a40000;
color: #fff;
padding: 5px 1em 7px;
font-size: 70%;
font-weight: 500;
border-radius: 3em;
line-height: 1;
}

/*----------左寄せ、右寄せ----------*/
.pull-left {float:left; margin-right: 15px; margin-bottom: 15px;}
.pull-right {float:right; margin-left: 15px; margin-bottom: 15px;}

/*----------ボタン----------*/

.order {
display: block;
max-width: 700px;
padding: 15px 0;
margin: 0 auto;
text-align: center;
font-size: 1.6em;
font-weight: 300;
margin: 50px auto;
-webkit-border-radius: 50px;
border-radius: 50px;
background: #618e00;
color: #fff;
text-decoration: none;
box-shadow :
0 0 0 2px #fff,
0 0 0 4px #618e00;
}

.order:hover {
background: #ff9900;
box-shadow :
0 0 0 2px #fff,
0 0 0 4px #ff9900;
transition: all 0.5s ease;
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-o-transition: all 0.5s ease;
}

@media screen and (max-width: 468px) {
.title {
max-width: 95%;
position: relative;
padding: 0.25em 0;
margin: 0em 0 2em;
font-size: 1em;
letter-spacing: 0;
}

.title .header:before {width: 33%;}
.title .header:after {width: 33%;}

.order {
margin: 30px auto;
padding: 10px 0;
font-size: 1.1em;
}
.box [class*="header-"] {
font-size: 1.1em;text-align: center;}
}



.samplecap {
text-align: center;
font-size: 0.8em;
color: #666;
margin: -1em 0 2em;
color: #a40000;
}

img.fadeIn {
-webkit-animation-name: 'fadeIn';
-webkit-animation-duration: 3s;
-webkit-animation-timing-function: ease-in;
-webkit-animation-iteration-count: 1;
}

.txt-center {
text-align: center !important;
}

.small {
font-size: 80% !important;
line-height: 1.5;
margin: 0 auto 1em;
}

.cap {
font-size: 80% !important;
line-height: 1.5;
margin: 0 auto 1em;

text-align: center !important;
}

.vsmall {
font-size: 70% !important;
line-height: 1.5;
margin: 0 auto;
}

.count {
font-size: 1.4em;
color: #fff;
text-align: center;
margin: 0 auto 2em;
line-height: 1;
background: #a40000;
padding: 0.5em 0;
max-width: 760px;
border-radius: 30px;
}

.part {
display: inline-block;
border-radius: 100px;
border: 2px solid;
text-align: center;
width: 120px;
height: 120px;
line-height: 120px;
margin-right: 0.5em;
color: #005982;
letter-spacing: 0;
font-size: 110%;
}


.part {
width: 60px;
height: 60px;
line-height: 60px;
margin-right: 0.2em;
}
}

.shadow {
box-shadow: 0px 0px 10px 3px rgba(0,0,0,0.1);
}

table {
width: 100% !important;
margin: 1em auto;
}

th, td {
border: 1px solid #ddd;
padding: 0.5em;
}

th {
text-align: right;
background: #f0f0f0;}

td font {font-size: 1.1em !important;}

input {
    font-size: 1.2em;
    width: auto;
    padding: 0.2em;
    margin: 5px 5px 5px auto;
}

.mailform, .mailform-t {
padding: 1em 3em 2em;
background: #ffcc00;
}

.mailform .btn, .mailform-t .btn {
width: 70%;
font-size: 1.4em;
margin: 0.5em auto 0 !important;
padding: 0.5em 2em;
border: 1px solid #fff;
background: #638c0b;
color: #fff;
border-radius: 30px;
display: block;
text-align: center;
text-decoration: none;
}
.mailform .btn:hover, .mailform-t .btn:hover {
background: #ff9900;
cursor: pointer;
}

.mailform .tmft {
background: #ffba00;
font-weight: 500;
padding: 0.5em;
margin: -1em auto 2em;
text-align: center;
border-radius: 0.5em;
}

.mailform-t .tmft {
background: #ffba00;
font-weight: 500;
padding: 0.5em;
margin: 0em auto 1em;
text-align: center;
border-radius: 0.5em;
font-size: 1.1em;
}


@media screen and (max-width: 468px) {
.mailform {
padding: 1em;
background: #ffcc00;
border-radius: 0.5em;
}

.mailform-t {
padding: 1em;
background: #ffcc00;
}

.mailform .btn, .mailform-t .btn {
width: 95%;
font-size: 1.2em;
}

.mailform-t .tmft {
font-size: 1em;
}


td {font-size: 0.7em;}
}

.sht {
margin-bottom: 1em;
background: #f6f2ee;
padding: 5px 10px;
}

.tt {
background: #f5f5f5;
}


.flex {
display: flex;
justify-content: center;
align-items: center;
}

.flexleft {
display: flex;
justify-content: left;
align-items: center;
}

.flexright {
display: flex;
justify-content: right;
align-items: center;
}

a.pbtn {
max-width:100%;
display: block;
background: url(../img/pp.png) no-repeat 15px #ff9900;
margin: 1em auto;
padding: 15px 0 15px 140px;
color: #fff;
border-radius: 10px;
font-size: 110%;
line-height: 1.1;
text-decoration: none;
}

a.pbtn:hover {
text-decoration: none;
background-color: #c40000;
}

.labeltitle {
display: inline-block;
width: 100%;
padding: 6px;
background:#625740;
border-radius: 2em;
color: #fff;
text-align: center;
}

.checklist div {
padding: 5px;
border-bottom: 1px dotted #ddd;
}

/* TOPに戻るボタン */
a.gotop {
display: block;
width: 120px;
padding: 5px 10px;
margin: 0 auto;
font-size: 10pt;
color: #333;
border-radius: 50px;
font-weight: 300;
background: #ff9900;
}

a.gotop:hover {background: #ffcc00;}


@media screen and (max-width: 640px) {
select {
width: 100% !important;
font-size: 80%;
}
.header-red {font-size: 1.1em;padding: 0.5em;}
.header-blue {font-size: 1.1em;padding: 0.5em;}
.fx-row div img {margin: 0 auto;padding: 0;}
.box .header-gold {margin-top: 1em;}
.design {font-size: 1.1em;padding: 2px;max-width: 100%;}

}

.spcopy {margin: 1em auto;}

@media screen and (max-width: 468px) {
#subform1-name, #subform1-fstName {width: 46% !important;}
dd {padding: 10px 0;}
dd input {font-size: 1em;}
dt.btn_dt .btn {
font-size: 1.1em;
margin-bottom: 1.25em !important;
text-align: center !important;
background-image: linear-gradient(0deg, #476700, #628e02);
}
dt.btn_dt input img {display: none;}
}

.device {font-size: 5em;margin: 0.25em auto;color: #0075a9;}
.device i {margin: 10px;}
.big {font-size: 150%;}

.ftitle {
display: block;
border:none;
width: 100%;
text-align: center;
font-size: 1.4em;
}

#mailform form * {
margin: 0;
padding: 0;
}

#name-label {
display: flex;
justify-content: center;
align-items: center;
float: left;
}

#name-element {margin: 0;padding: 0;}

#email1-label {
display: flex;
justify-content: center;
align-items: center;
float: left;
}

#email1-element {margin: 0;padding: 0;}

dt {
display: inline;
width: 20%;
background: #efeae4;
height: 50px;
display: flex;
justify-content: center;
}

dd input {
display: inline-block;
margin: 0;
width: 80% !important;
height: 50px;
border: 0; 
}

dd p {
text-align: right !important;
padding: 5px;
}


@media screen and (max-width: 468px) {
dt {height: 35px;border-radius: 10px 10px 0 0 ;width: 100%;}
dd input {border-radius: 0 0 10px 10px;width: 100% !important;}
dd p {font-size: 9pt !important;line-height: 1.75}
.btn_dt input {width: 100% !important;}
.title {
font-size: 1.25em;
line-height: 1.5;
filter: none;
max-width: 100%;
transform:skewX(0deg);
margin: 0 0 1.25em;
}
.title span {font-size: 11pt;}
.title .header, .title span {transform:skewX(0deg);}
.tmft {font-size: 11pt;margin: 0;}
.mailform {margin: -1%;}
}

.voice {
padding: 1em;
margin-bottom: 1em;
}

.voice .fx-col-70-s {
background: #ececec;
color: #222;
padding: 1em;
border-radius: 5px;
position: relative;
}

.voice .fx-col-70-s:before {
content: '';
display: block;
width: 0;
height: 0;
border-style: solid;
border-width: 25px 30px 25px 0;
border-color: transparent #ececec transparent transparent;
position: absolute;
left: -22px;
top: calc(50% - 25px);
}

.voice img {
display: block;
margin: 0 auto;
max-width: 70%;
height: auto;
}

.name {text-align: right;}

.point-header {
font-size: 1.4em;
line-height: 2;
font-weight: bold;
background: #638c0b;
color: #fff;
padding: 10px 0 10px 10px;
border-radius: 3em;
margin-bottom: 10px;
font-weight: 500;
}

.point-header {
font-size: 1.4em;
line-height: 2;
font-weight: bold;
background: #638c0b;
color: #fff;
padding: 10px 0 10px 10px;
border-radius: 3em;
margin-bottom: 10px;
font-weight: 500;
}

 .point-header .no {
font-size: 18px;
display: inline-block;
height: 60px;
width: 60px;
line-height: 60px;
background: #ffcc00;
border-radius: 50%;
color: #252525;
margin: 0 10px 0 0;
padding: 0;
text-align: center;
letter-spacing: 0;
}

td {border: none;}


@media screen and (max-width: 840px) {

.content {
    max-width: 800px;
    margin: 0px 1em;
}

h2 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 5vw;
    line-height: 1.5;
    z-index: 3;
    color: #cc0000;
    margin: 0.5em auto 0.5em;
    padding: 0;
}



}

@media screen and (max-width: 768px) {
.vinner {
    background: #fff;
    padding: 1em;
    border-radius: 0.5em;
    min-height: auto;
    font-size: 90%;
}
}


@media screen and (max-width: 680px) {

.headcopy {
    padding-top: 1rem;
    margin: 0 auto -3px;
}

.logo {
    position: absolute;
    top: 0;
    right: 0.3rem;
    width: 10vw;
}

.bridge {
    background: #333;
    padding: 0.5em;
    border-radius: 0.25em;
    display: block;
    text-align: center;
    text-decoration: none;
    line-height: 1.25;
    color: #fff;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 5vw;
    margin: 1.em auto;
}

.vheader {
    font-size: 4vw;
    font-weight: 700;
    background: #fff799;
    display: inline-block;
    padding: 0 0.25em;
    margin-bottom: 0.5em;
    color: #333;
}

.box li {
    font-size: 1em;
    margin-bottom: 5px;
    margin-left: 1.4em;
    text-indent: -1.4em;
}

}

label.form-label.required.form-label-paymentCd:after ,  .tp-form-v2 .form-label:after{
    content: '';
    display: block;
    height: 20px;
    background: #f5f5f5;
    margin-top: -10px;
    width: 92%;
    margin-left: 8%;
}

.tp-form-v2 .input .form-label {
    display: block;
    text-align: left;
    width: 100%;
    background: none !important;
    padding: 5px 5px 0;
    line-height: 2;
    margin-bottom: 5px;
    font-weight: 700;
    border-top: 0px dotted #ccc !important;
    border-bottom: 0px dotted #ccc !important;
    clear: both;
    margin: 0px 0 0;
}

.tp-form-v2 .form-label {
    background: none !important;
    border-bottom: 0px dotted #ccc !important;
    border-top: 0px dotted #ccc !important;
    display: block;
    font-weight: 700;
    line-height: 2;
    margin: 0;
    padding: 5px 5px 0;
    position: relative;
    text-align: left;
    white-space: nowrap;
    width: 100%;
}

.tp-form-v2 #btn-confirm, .tp-form-v2 .btn-commit {
    background: #60a10e !important;
    border: 1px solid #ccc !important;
    border-radius: 5px;
    color: #fff;
    display: block;
    font-size: 20px;
    font-weight: 400;
    margin: 1em auto;
    padding: .8em auto;
    text-shadow: none !important;
    width: 80%;
}

.tp-form-v2 #btn-confirm:hover,.tp-form-v2 .btn-commit:hover{background:#ff9900 !important;}

.button {
    background: #5fa10e;
    padding: 20px;
    width: 80%;
    margin: auto;
    border-radius: 5px;
    text-align: center;
    color: #fff;
    border: 1px solid #ccc;
}

a.buttonlink {
    text-decoration: none;
    font-size: 20px;
}

.button:hover {
    background: #ff9900;
}

@media screen and (max-width: 680px) {


.button {
    width: 100%;
    font-size: 18px;
}

.tp-form-v2 #btn-confirm, .tp-form-v2 .btn-commit {
    font-size: 18px;
    width: 100%;
}

}

.mt2em {
    margin-top: 1.5em;
}