@charset "UTF-8";
/* reset
---------------------------------------------------------------------- */

/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
main, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */

article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section {
	display: block;
}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote::before, blockquote::after,
q::before, q::after {
	content: '';
	content: none;
}

/* Don't kill focus outline for keyboard users: http://24ways.org/2009/dont-lose-your-focus */

a:hover, a:active {
    outline: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* 初期値 */

img {
	max-width: 100%;
	height: auto;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
	font-size: clamp(.8rem,1.73vw,1.3rem);
}

input[type='text'],
input[type='tel'],
input[type='mail'],
input[type='email'],
input[type='url'],
input[type='number'],
input[type='password'],
textarea {
	/* font-size: 1.6rem; */
	font-size: clamp(1.6rem, 3.2vw, 2.4rem);
	background: #f5f5f5;
    border: 1px solid #f5f5f5;
	border-radius: 9px;
	display: block;
	width: 100%;
	margin: 5px 0;
	padding: 20px;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

dl dd input#party_info_create_form_manager_name:focus,
dl dd input#party_info_create_form_woman_name:focus,
dl dd input#party_info_create_form_man_name:focus,
dl dd input#signup_form_name:focus,
dl dd input[type='mail']:focus,
dl dd input[type='email']:focus {
    background: #fff url(./img/icons/icn_mark_delete@2x.png) no-repeat 100% 50% !important;
    background-size: .7em auto !important;
}

dl dd input[type='password'] {
    background: #fff url(./img/icons/icn_pass@2x.png) no-repeat 100% 45% !important;
    background-size: 1em auto !important;
}

input.inline {
	display: inline-block;
	width: auto;
	max-width: 16rem;
	margin: 0 5px;
}

input + input {
	margin-top: 10px;
}

textarea {
    height: 10em;
    margin: 10px 0;
    padding: 1em;
    font-size: clamp(1.6rem, 3.2vw, 2.4rem);
    line-height: 1.5;
}

input[type='date'],
input[type='time'] {
	background: #fff;
    border: 1px solid #bebebe;
	/* font-size: 1.6rem; */
	font-size: clamp(1.6rem, 3.2vw, 2.4rem);
	border-radius: 9px;
	display: block;
	width: 100%;
	margin: 5px 0;
	padding: 5px;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

input#l_image_file{
	font-size: clamp(1.6rem, 3.2vw, 2.4rem);
}

select {
    width: 100%;
    margin: 5px 0;
    padding: .2em 1em;
    box-sizing: border-box;
    border: none;
    background: #fff url( svg/arrow_gray_down.svg ) right 1.3em center / .5em no-repeat;
    /* font-size: 1.6rem; */
    font-size: clamp(1.6rem, 3.2vw, 2.4rem);
    line-height: 2.5em;
    border-radius: .3em;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #bebebe;
}

input[type='submit'],
.btn-01 a,
.btn-02 a,
.btn-03 a,
.btn-04 a,
#account .toggle-btn a,
#edit-party input[type='submit'],
#advance_payment #form_data a.btn_ms,
#payment_method_selection_1 .btn_area .btn_ms,
#party-list .btn-01 a,
#edit-party.design-form .btn-01.btn a {
	display: block;
	width: 100%;
    max-width: 750px;
	border: solid 1px #3291e4;
	border-radius: .5em;
	/* max-width: 250px; */
	/* font-size: 1.6rem; */
    font-size: clamp(1.3rem, 3.46vw, 2.6rem);
	font-weight: 600;
	color: #fff;
	margin: 15px auto;
	padding: .9em 1.2em;
	position: relative;
    background: #3291e4;
	/* background: #3291e4 url( svg/arrow-01-wh.svg ) right 1.25em center / .3em no-repeat; */
	cursor: pointer;
	transition: all .2s;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
	line-height: 1.2;
	text-align: center;
}
input[type='submit']:hover,
.btn-01 a:hover,
.btn-02 a:hover,
.btn-03 a:hover,
.btn-04 a:hover,
#edit-party input[type='submit']:hover,
#advance_payment #form_data a.btn_ms:hover,
#payment_method_selection_1 .btn_area .btn_ms:hover,
#party-list .btn-01 a:hover {
	/* background-position: right 1em center;
	background-size: .3em;
	background-image: url( svg/icons/arw2.svg );
	background-repeat: no-repeat; */
	background-color: #fff;
	color: #3291e4;
}

/* 保存ボタン:ホバー時に矢印が左→右へスライドするのを止める(矢印位置を固定し、transitionから背景位置を除外) */
#edit-party input[type='submit'],
#edit-party input[type='submit']:hover {
    background-position: right 1.2em center;
}
#edit-party input[type='submit'] {
    transition: color .2s, background-color .2s, border-color .2s;
}

#advance_payment #form_data a.btn_ms:hover{
    background-image: unset;
}

.btn-06 a {
    display: block;
    width: 100%;
    border-radius: .5em;
    border: solid 1px #f5f5f5;
    background: #f5f5f5 url( svg/icons/arw.svg ) right 1.7em center / .4em no-repeat;
    font-size: clamp(1rem, 2.66vw, 2rem);
    /* font-weight: 600; */
    color: #000;
    padding: .5em 1em;
    cursor: pointer;
    transition: all .2s;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
    line-height: 1.2;
    letter-spacing: -.03em;
}

.btn-06 a .icn_label{
    margin-right: .4em;
	margin-top: 0;
	width: .9em;
	height: .9em;
}

/* input[type='submit']:hover {
	color: #fff;
	background: #3291e4 url( svg/arrow-01-wh.svg ) right 1em center / .3em no-repeat;
	background-size: .3em;
} */

button.btn {
	background: #3291e4;
	color: #fff;
	border: none;
	border-radius: 4px;
	padding: 5px 10px;
	font-size: 1.3rem;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.btn-01 a:after{
	display: none;
}

.btn-02 a{
    display: block;
	border-color: #c6c6c6;
	background-color: #fff;
	/* background-image: url( svg/arrow-01.svg ); */
	color: #000;
}
.btn-03 a{
    display: block;
	border-color: #3291e4;
	background-color: #fff;
	/* background-image: url( svg/icons/arw2.svg ); */
	color: #3291e4;
}
.btn-03 a:hover{
	background-color: #fff;
	color: #3291e4;
	background-repeat: no-repeat;
}
.btn-04 a{
    border-color: #e58a99;
    background-color: #e58a99;
	width: 100% !important;
}
.btn-04 a:hover{
	background-repeat: no-repeat;
    color: #e58a99;
	background-image: url(svg/arrow_red.svg);
}
.btn-04 a:after{
	display: none;
}

.btn_line a {
    background: #06c755;
    border-color: #06c755;
    font-size: clamp(1.05rem,2.80vw,2.1rem);
    padding: .7em;
}
.btn_line a:hover {
    color: #06c755;
}
.btn_line a:before {
    content: "";
    width: 2.55em;
    height: 2.5em;
    display: inline-block;
    vertical-align: middle;
    margin: 0 .6em 0 -1em;
    background: url(./img/icons/icn_line@2x.png) no-repeat 50% 50%;
    background-size: contain;
}
.btn_line a:after {
    content: "";
    width: .9em;
    height: .9em;
    display: inline-block;
    vertical-align: middle;
    background: url(./img/icons/icn_link@2x.png) no-repeat 50% 50%;
    background-size: contain;
    position: absolute;
    right: .7em;
    top: calc(50% - .15em);
}
.btn-add a,
.btn-add .input-wrap {
    font-size: clamp(1.15rem, 3.06vw,2.3rem);
    text-align: center;
    font-weight: 600;
    margin: 5% auto;
    background: #fff;
    border: 1px solid #3291e4;
    color: #3291e4;
    padding: 1em;
    width: 100%;
    box-sizing: border-box;
    max-width: 100%;
    border-radius: .5em;
    display: block;
    cursor: pointer;
    position: relative;
}
.btn-add .input-wrap input{
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-width: 100%;
    margin:0 !important;
    padding: 0;
    opacity: 0;
}

.btn-add a:before,
.btn-add .input-wrap:before {
    content: "";
    width: 1.6em;
    height: 1.6em;
    display: inline-block;
    vertical-align: middle;
    margin: 0 1em 0 0;
    background: url(./img/icons/icn_mark_plus@2x.png) no-repeat 50% 50%;
    background-size: contain;
}

/* 汎用
---------------------------------------------------------------------- */

/* clerfix */

.clearfix::before,
.clearfix::after {
	content: " "; /* 1 */
	display: table; /* 2 */
}

.clearfix::after {
	clear: both;
}

/*
* For IE 6/7 only
* Include this rule to trigger hasLayout and contain floats.
*/

.clearfix {
	*zoom: 1;
}

/* Facebook Like Box width: 100% */

.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget iframe[style]{
	width: 100%!important;
}

/* class */

.clearboth {
	clear: both;
}

#page-top a {
	display: block;
	background: #909091;
	color: #fff;
	position: fixed;
	bottom: 30px;
	right: 30px;
	line-height: 1;
	padding: 15px 20px;
	border-radius: 4px;
	transition: all .5s;
}

#page-top a:hover {
	opacity: .8;
}

a.help {
	display: block;
	width: 16px;
	padding: 4px;
	content: url( svg/icon-29.svg );
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY( -50% );
}

.notice {
	color: #e57386;
	background: #fffeee;
	padding: 15px 15px 15px 35px;
	margin: 20px 0;
	position: relative;
}

.notice::before {
	content: url( svg/icon-30.svg );
	width: 16px;
	position: absolute;
	top: 18px;
	left: 10px;
	line-height: 1;
}

.notice-box {
	border: solid 1px #e57386;
	padding: 5px 15px;
}

.notice-box .notice {
	border: none;
	padding: 5px 5px 5px 25px;
	margin: 0;
}

.notice-box .notice::before {
	top: 8px;
	left: 0;
}

.notice-box strong {
	display: block;
	margin: 10px 0;
	padding: 5px;
	background: #eee;
	text-align: center;
	font-weight: normal;
	border-radius: 3px;
}

/* ----------------------------------------------------------------------
レイアウト
---------------------------------------------------------------------- */

html {
	font-size: 62.5%;
}

body {
  font-family: 
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Noto Sans JP",
    sans-serif;
	font-size: 10px;
	line-height: 1.8;
	text-align: center;
	position: relative;
	-webkit-text-size-adjust: 100%;
    letter-spacing: .06em;
    max-width: 100%;
    width: 100%;
    background: #fff;
}

a {
	text-decoration: none;
	outline: none;
	color: #000;
}

#wrapper {
	/* margin: 0 auto; */
	background: #fff;
	font-size: clamp(.8rem,1.73vw,1.3rem);
	position: relative;
	max-width: 750px;
	padding-top: 0;
}

html.lock,
html.lock body {
    width: 100vw;
    height: 100vh;
    overflow: hidden;
}


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

#header {
	position: fixed;
	top: 0;
	width: 100%;
	/* max-width: 960px; */
	max-width: 750px;
	z-index: 99;
	transition: top .2s;
	background: #fff;
    height: 4.25em;
    font-size: clamp(1.7rem, 4.53vw, 3.4rem);
}

.lock #header {
	height: 100vh;
	background: none;
}

#header.fixed {
	position: fixed;
	top: -100px;
}

#header.fixed.show {
	top: 0;
}

#header .overlay {
	content: '';
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba( 0,0,0,0 );
	z-index: -99999;
	visibility: hidden;
	opacity: 0;
	transition: all .4s
}

#header.nav-open .overlay {
	visibility: visible;
	opacity: 1;
	background: #a1d3ff;
	z-index: 99999;
}


#header h1 {
    background: transparent;
    color: #2e2e2e;
    border: none;
    height: auto;
    line-height: 1.5;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: .8em;
    text-align: center;
}

#header .back-btn{
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    position: absolute;
	/* display: none; */
}

#header .back-btn img {
    width: .5em;
    transition: all .2s;
    /* transform: rotate(-180deg); */
}
#header .back-btn a {
    -js-display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    display: flex;
    width: 50px;
    justify-content: center;
    align-items: center;
	height: 1em;
}

#header .back-btn a:hover img {
	/* transform: rotate(-180deg) translateX( 5px ); */
	transform: translateX( 5px );
}

#header .info-btn {
	position: absolute;
	right: 0;
	top: 0;
}

#header .info-btn a {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	width: 50px;
	height: 50px;
	justify-content: center;
	align-items: center;
}

#header .info-btn img {
	width: 8px;
	transition: all .2s;
}

#header .info-btn a:hover img {
	transform: translateX( -5px );
}

#header .editable {
    right: 0;
	top: calc(100% - 2em);
    transform: translateY(-50%);
    font-size: clamp(.9rem,2.4vw,1.8rem);
    width: 100%;
    color: #fff;
}

#g-nav {
	position: absolute;
	top: 0;
	left: -91.2%;
	width: 91.2%;
	max-width: 685px;
	height: 100vh;
	text-align: left;
	background: #fff;
	opacity: 0;
	visibility: hidden;
	z-index: 999999;
	transition: all .4s;
}

.nav-open #g-nav {
	left: 0;
	opacity: 1;
	visibility: visible;
}

#g-nav .g-logo{
    padding: 8% 5.5% 6%;
    border-bottom: .05em solid #bababa;
}

#g-nav .g-logo img{
    width: 35%;
}

#g-nav .overlay.btn-close{
    width: 1em;
    height: 1em;
    position: absolute;
    top: .5em;
    left: 83.5%;
    border-radius: 50%;
    font-size: clamp(3.47rem,10.6vw,7.95rem);
    background: #3291e4 url(svg/icons/icon_close.svg) no-repeat 50% 50%;
    background-size: .28em auto;
    cursor: pointer;
}

#g-nav .account-menu{
    padding: 4.5% 3.5% 3%;
    border-bottom: .05em solid #bababa;
}

#g-nav .account-thumbnail {
    width: 12.5vw;
    max-width: 93px;
    margin: 0 1em 0 0;
    box-sizing: border-box;
    border: none;
}

#g-nav .account-thumbnail a{
	background: none;
	padding: 0;
}

#g-nav .account-menu .txt-name_en {
    line-height: 1.4;
    font-size: clamp(.8rem,1.81vw,1.36rem);
    letter-spacing: .31em;
}

#g-nav .account-menu_flex{
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
    align-items: center;
    justify-content: space-between;
    width: 97.8%;
}

#g-nav .box-info{
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
    align-items: center;
    justify-content: flex-start;
    max-width: 49%;
}

#g-nav .account-menu .txt-name{
    margin:.2em .5em 0 0;
    font-size: clamp(1.4rem,3.73vw,2.8rem);
    letter-spacing: .2em;
    max-width: 55%;
}

#g-nav .account-menu .txt-link_share {
    font-size: clamp(1.05rem,2.80vw,2.1rem);
    margin-top: 1.1em;
    letter-spacing: -.01em;
}
#g-nav .account-menu .txt-link_share a:after{
    margin: -.25em 0 0 .7em;
}

#g-nav .account-menu .txt-pay{
    font-size: clamp(1.239rem,3.304vw,2.478rem);
}
#g-nav .account-menu .txt-data_pay{
    border-radius: 3em;
    display: inline-block;
    padding: .4em 2em;
    min-width: 97.5%;
    box-sizing: border-box;
    letter-spacing: .15em;
}

#g-nav .main-menu {
    margin-bottom: 5%;
}

#g-nav .main-menu .list-nav-main{
    flex-wrap: wrap;
    width: 100%;
    padding: 5% 2.5% 1.5% 2%;
    border-bottom: .05em solid #bababa;
    box-sizing: border-box;
}

#g-nav .main-menu .list-nav-main li {
    width: 50%;
    box-sizing: border-box;
    margin-bottom: 1.25em;
	border: none;
}

#g-nav .main-menu .list-nav-main li a{
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
    width: 100%;
    align-items: center;
    line-height: 1.1;
    letter-spacing: .07em;
    position: relative;
	padding:0;
	background:none;
	font-size:1em;
}
#g-nav .main-menu .list-nav-main li a:after{
    content: "";
    background: url(svg/icons/arw.svg) no-repeat 50% 50%;
    background-size: contain;
    position: absolute;
    right: .4em;
    top: 50%;
    width: .3335em;
    height: .5835em;
    margin-top: -.25em;
}

#g-nav .main-menu .list-nav-main li .icon{
    width: 19%;
    margin: 0 .6em 0 0;
}

#g-nav .wrap {
	overflow: scroll;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
	height: 100vh;
	padding-bottom: 200px;
	box-sizing: border-box;
    position: relative;
}

#g-nav .sub-menu{
    padding: 0 3.5% 1px;
    margin-bottom: 5.5%;
    border-bottom: .05em solid #bababa;
}

/* #g-nav .sub-menu:last-child {
    border-bottom: none;
} */

#g-nav .sub-menu .list-nav-child li a {
    padding: 0.5em 1.1em 0.5em 3.5em;
    letter-spacing: .12em;
    font-size: 1em;
}

#g-nav .sub-menu .list-nav-child li .icon {
    position: absolute;
    left: .75em;
    top: 50%;
    margin: -.75em 0 0 0;
    width: 1.5em;
    height: 1.5em;
}

#g-nav .sub-menu .list-nav-child li .icon-excel {
    height: 1.6em;
    width: 1.3em;
}

#g-nav .sub-menu .list-nav-child li .icon-email {
    width: 1.3em;
    height: 1.5em;
    left: .85em;
}
#g-nav .sub-menu .list-nav-child li {
    margin: 0 auto 1.45em;
	border:none;
}

#g-nav .sub-menu .list-nav-child li a:after {
    right: .5em;
}
#g-nav .btn-txt_logout{
    /* margin: .8em auto; */
}
#g-nav .btn-txt_logout a{
	padding: .8em 0;
}
#wrapper .account a {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	align-items: center;
	padding: 10px;
	border-bottom: solid 1px #c8c8cd;
	background: #fff;
	position: relative;
}

#wrapper .account a:hover {
	background: #f7f7f9;
}

#wrapper .account a img {
	width: 50px;
	height: 50px;
	object-fit: cover;
	border: solid 1px #e1e1e5;
	border-radius: 50%;
}

#wrapper .account a span {
    font-size: clamp(1.2rem,2.4vw,1.8rem);
	line-height: 1.2;
	text-align: left;
	padding-left: 10px;
}

#wrapper .account a time {
	font-family: 'Josefin Sans', sans-serif;
	font-size: 1.5rem;
}


/* sp-btn */


#sp-btn, #sp-btn span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
    line-height: 1;
}
#sp-btn{
    z-index: 9999;
	position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: clamp(.7rem,1.86vw,1.4rem);
    width: 3.5em;
    /* border: 1px solid; */
	/* right: inherit; */
	right: 2em;
}
#sp-btn a{
	width: 100%;
	height: 100%;
	aspect-ratio: 1/1;
}
#sp-btn span{
	background: #fff;
	height: .2145em;
	border-radius: 3px;
	width: 100%;
	left: 0;
}
#sp-btn span:nth-of-type(1){
	top: 0;
}

#sp-btn span:nth-of-type(2) {
    /* top: 14.5px; */
    top: .98em;
}
#sp-btn span:nth-of-type(3) {
    /* top: 29px; */
    top: 1.96em;
}
#sp-btn p.menu{
	color: #fff;
	top: 100%;
    font-size: 1em;
	white-space: nowrap;
	/* width: calc(100% + 1em); */
    text-indent: -.25em;
    font-weight: 600;
    letter-spacing: .1em;
}
/* #sp-btn,
#sp-btn span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}

#sp-btn {
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1;
	z-index: 9999;
}

#sp-btn a {
	display: inline-block;
	width: 50px;
	height: 50px;
	position: relative;
	z-index: 9999999;
}

#sp-btn span {
	position: absolute;
	left: 17px;
	width: 16px;
	height: 1px;
	background: #fff;
	transition: all .2s;
}

#sp-btn span:nth-of-type(1) {
	top: 19px;
}

#sp-btn span:nth-of-type(2) {
	top: 24px;
}

#sp-btn span:nth-of-type(3) {
	top: 29px;
}

#sp-btn p.menu {
	font-size: 11px;
	position: absolute;
	width: 100%;
    bottom:0;
}

.nav-open #sp-btn a {
	display: none;
}

.nav-open #sp-btn span {
	background: #fff;
}

.nav-open #sp-btn span:nth-of-type(1) {
	-webkit-transform: translateY( 5px ) rotate( -45deg );
	transform: translateY( 5px ) rotate( -45deg );
}

.nav-open #sp-btn span:nth-of-type(2) {
	left: 20px;
	width: 0;
	opacity: 0;
}

.nav-open #sp-btn span:nth-of-type(3) {
	-webkit-transform: translateY( -5px ) rotate( 45deg );
	transform: translateY( -5px ) rotate( 45deg );
} */


/* ----------------------------------------------------------------------

コンテンツ

---------------------------------------------------------------------- */

/* .bg_gray, */
.bg_gray #wrapper,
.bg_gray .wrapper,
.bg_gray #header{
	background: #f5f5f5;
}
#contents {
	min-height: calc( 100vh - 81px );
	max-width: 750px;
	min-width: 375px;
	overflow: hidden;
	text-align: center;
	margin: 0 auto 0;
    /* font-size: clamp(1.7rem, 4.53vw, 3.4rem); */
	font-size: clamp(1.15rem, 3.06vw,2.3rem);
	padding-top: 7em;
	box-sizing: border-box;
}

article section {
	margin-bottom: 25px;
}

#contents .invitations {
	background: #fdeef0;
	margin: 0;
	padding: 0 20px 10px;
	overflow: hidden;
}
#contents .invitations h2 {
	font-size: 1.2rem;
	color: #f06292;
	background: none;
	margin: 5px 0 0;
	padding: 0;
}
#contents .invitations ul {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	margin: 0;
	padding: 0;
}

#contents .invitations li {
	width: 25%;
	box-sizing: border-box;
	font-size: 1.0rem;
	line-height: 1.2rem;
	color: #222;
	letter-spacing: normal;
	border: 2px solid #e5e5e5;
	border-radius: 10px;
	background: #FFF;
	margin-right: 7.5px;
}

#contents .invitations li:nth-last-child {
	/*padding-right: 7.5px;*/
	margin-right: 0;
}

#contents .invitations li a {
	display: inline-block;
	/*background: #FFF;*/
	/*border-radius: 4px;*/
	padding: 12px 0 2px;
	transition: all .2s;
}

#contents .invitations li a:hover {
	background: rgba( 255,255,255,.5 );
}

#contents .invitations li img {
	width: auto;
	height: 30px;
}
#contents .invitations figcaption {
	margin: 0;
	padding: 8px 0 0;
	position: relative;
}

#contents .invitations figcaption.rows2 {
	margin: 0;
	padding: 3px 0 0;
	position: relative;
}


#contents .bottom-nav {
	position: relative;
	margin: 0;
	padding: 0 20px 10px;
	overflow: hidden;
}

#contents .bottom-nav ul {
	position: relative;
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	margin: 0;
	padding: 0;
}

#contents .bottom-nav li {
	position: relative;
	width: 25%;
	box-sizing: border-box;
	font-size: 1.0rem;
	line-height: 1.2rem;
	color: #222;
	letter-spacing: normal;
	margin-right: 7.5px;
}
#contents .bottom-nav li.full{
    width: 100%;
    margin-right: 0px;
    margin-top: 2%;
}
#contents .bottom-nav li.full .link{
    margin-top: 0px;
    text-align: left;
    margin-left: 4%;
}
#contents .bottom-nav li.full .link.right{
    text-align: right;
    margin-left: 0%;
    margin-right: 4%;
}
#contents .bottom-nav li.full .link a{
    display: inline-block;
    width: auto;
}
#contents .bottom-nav li .hasSubmenu{}
#contents .bottom-nav li .hasSubmenu.active{}
#contents .bottom-nav li .hasSubmenu.active figure{
    background: #ffeaf1;
}

#contents .bottom-nav figcaption.rows2 .txtxs {
	font-size: 0.8rem;
	letter-spacing: -0.1rem;
}

#contents .bottom-nav li:nth-last-child {
	/*padding-right: 7.5px;*/
	margin-right: 0;
}

#contents .bottom-nav li a {
	width: 100%;
	display: inline-block;
	padding: 10px 0 0;
	transition: all .2s;
}

#contents .bottom-nav li a:hover {
	background: rgba( 255,255,255,.5 );
}

#contents .bottom-nav div.done {
	position: absolute;
	box-sizing: border-box;
	width: 100%;
	border-radius: 10px;
	background: #111;
	padding: 5px 0 0;
	opacity: 0.8;
	margin: 0 auto;
	line-height: 70px;
	font-size: 20px;
	font-weight: bold;
	color: #FFF;
	z-index: 999;
}
#contents .bottom-nav figure {
	box-sizing: border-box;
	width: 100%;
	border: 2px solid #e5e5e5;
	border-radius: 10px;
	background: #FFF;
	padding: 5px 0 0;
}
#contents .bottom-nav figure img {
	width: auto;
	height: 40px;
}
#contents .bottom-nav figcaption {
	margin: 0;
	padding: 6px 0 9px;
	position: relative;
	line-height: 1.1;
}
#contents .bottom-nav figcaption.rows2 {
	margin: 0;
	padding: 0 0 3px;
	position: relative;
	line-height: 1.1;
}
#contents .bottom-nav .push_app1 {
	width: 25px;
	height: 25px;
	background: #e53935;
	color: #FFF;
	font-size: 1.3rem;
	line-height: 2.6rem;
	border-radius: 50%;
	position: absolute;
	margin: 0;
	padding: 0;
	top: 18px;
	right: -5px;
}
#contents .bottom-nav .push_app2 {
	width: 25px;
	height: 25px;
	background: #e53935;
	color: #FFF;
	font-family: 'Montserrat', sans-serif;
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1;
	border-radius: 50%;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 18px;
	right: -5px;
}
#contents .bottom-nav .push_app2 img {
	width: 80%;
	padding: 10px 0 0;
}
#contents .bottom-nav .push_app3 {
	width: 25px;
	height: 25px;
	background: #e53935;
	color: #FFF;
	font-size: 0.6rem;
	line-height: 2.4rem;
	border-radius: 50%;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 18px;
	right: -5px;
}
#contents .bottom-nav .push_app3 img {
	width: 74%;
	padding: 8px 0 0;
}
#contents .bottom-nav .push_app4 {
	width: 25px;
	height: 25px;
	background: #e53935;
	color: #FFF;
	font-size: 0.6rem;
	line-height: 0.6rem;
	border-radius: 50%;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 18px;
	right: -5px;
}
#contents .bottom-nav .push_app4 img {
	width: 74%;
	padding: 6px 0 0;
}
/*PC and Tablet*/
@media screen and ( min-width: 750px ) {
    #contents .bottom-nav div.done {
        position: absolute;
        box-sizing: border-box;
        width: 100%;
        border-radius: 10px;
        background: #111;
        padding: 5px 0 0;
        opacity: 0.8;
        margin: 0 auto;
        line-height: 82px;
        font-size: 20px;
        font-weight: bold;
        color: #FFF;
        z-index: 999;
    }

    #contents .bottom-nav .push_app1 {
        font-size: 1rem;
        line-height: 1.7rem;
    }
    #contents .bottom-nav .push_app2 img {
        width: 92%;
        padding: 10px 0 0;
    }
    #contents .bottom-nav .push_app3 img {
        padding: 4px 0;
    }
}



.wrap-sec-01{
    background: #f6f6f6;
}


/* ----------------------------------------------------------------------
common-parts
---------------------------------------------------------------------- */

/* form */
.req{
	color: #cf000e;
	vertical-align: top;
    font-size: 1em;
}
.form-box form dl{
	display: block;
}

.form-box.block form dt{
    text-align: left;
    font-size: clamp(1.2rem, 3.2vw, 2.4rem);
	font-weight: 400;
}

.form-box form dt.block.main_ttl{
    font-size: clamp(1.4rem,3.73vw,2.8rem);
	font-weight: 600;
}

.form-box form dt,
.form-box form dt + dd{
	width: 100%;
}

.form-box form dt,
.form-box form dd{
	padding-top: 0;
	border:none;
}
.form-box form dt{
	margin-bottom: .8em;
}

.form-box form dd{
	margin-top: 0;
    font-size: clamp(1.2rem, 3.2vw, 2.4rem);
}
.form-box.block form dd{
    margin-bottom: 3em !important;
}

.txt_blue{
	text-align: center;
}
.txt_blue a{
	color: #3291e4;
    font-size: clamp(1.075rem, 2.873vw, 2.15rem);
}

.btn_float{
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	box-shadow: -1px -1px 5px rgba( 0,0,0,.1 );
	background: #fff;
	padding: 1em 5%;
	box-sizing: border-box;
    z-index: 98;

}

/* 固定の保存バー(.btn_float)に隠れないよう、内容エリア下部にバー分の余白を確保 */
body:has(.btn_float) #contents{
    padding-bottom: 8em;
}

.form-box .btn_float_form{
	margin-bottom: 8em;
}

.form-inner_box{
	background: #fff;
    padding: 2.5em 5%;
	margin: 0 auto;
	border-radius: 2.1em;
}

.form-box form dd input[type='text'], 
.form-box form dd input[type='tel'], 
.form-box form dd input[type='mail'], 
.form-box form dd input[type='email'], 
.form-box form dd input[type='url'], 
.form-box form dd input[type='number'],
.form-box form dd input[type='password'],
.form-box form dd textarea,
#guest-add input[type='text'], 
#guest-add input[type='tel'], 
#guest-add input[type='mail'], 
#guest-add input[type='email'],
.form-Main_Group input[type='text'],
.form-Main_Group input[type="email"]{
	border:none;
    border-bottom: 1px solid #b0b0b0;
	background: none;
	border-radius: 0;
	padding: .1em 0;
	outline: 0;
}

.form-box form dd input[type='text']:focus, 
.form-box form dd input[type='tel']:focus, 
.form-box form dd input[type='mail']:focus, 
.form-box form dd input[type='email']:focus, 
.form-box form dd input[type='url']:focus, 
.form-box form dd input[type='number']:focus,
.form-box form dd input[type='password']:focus,
.form-box form dd textarea:focus,
#guest-add input[type='text']:focus, 
#guest-add input[type='tel']:focus, 
#guest-add input[type='mail']:focus, 
#guest-add input[type='email']:focus,
.form-Main_Group input[type='text']:focus,
.form-Main_Group input[type="email"]:focus {
    border-color: #3291e4;
}
.form-box.block form dd.last{
	margin-bottom: 1em !important;
}

.form-box.block form dd .red{
    font-size: clamp(1.2rem, 2.66vw, 2rem);
	display: block;
    line-height: 1.5;
}
.form-box.block form dd.note{
    font-size: clamp(1.2rem, 2.66vw, 2rem);
}

.form-box form dd.btn_list,
.form-box form dd .btn_list-wrap{
	display: flex;
	justify-content: flex-start;
	width: 100%;
    flex-wrap: wrap;
}
.form-box form dd.btn_list-02 label,
.form-box form dd.btn_list label,
.form-box form dd .btn_list-wrap label{
    box-sizing: border-box;
    padding: 1.2em 1em 1em 2.6em;
    font-size: clamp(1.3rem, 3.46vw, 2.6rem);
}

.form-box form dd.btn_list-02 label{
    margin-bottom: .9em;
    padding: 1.2em 1em .8em 2.6em;
    line-height: 1.2;
}

.form-box form dd.btn_list label,
.form-box form dd .btn_list-wrap label{
    width: 47%;
}

.form-box form dd.btn_list label:nth-child(odd),
.form-box form dd .btn_list-wrap label:nth-child(odd) {
    margin: 0 3% 0 0;
}

.form-box form dd.btn_list label:nth-child(even),
.form-box form dd .btn_list-wrap label:nth-child(even) {
    margin: 0 1% 0 2%;
}

.form-box form dd .btn_list-wrap label:nth-child(3){
	margin-top: 1em;
}

.form-box form dd .btn_list-03{
    justify-content: space-between;
}
.form-box form dd .btn_list-wrap.btn_list-03 label {
    width: 31.3333%;
    display: flex;
    flex-direction: column;
    /* align-items: center; */
    justify-content: center;
    margin: 0;
    padding: .7em 0 .3em 2.6em;
}

.form-box form dt span.label,
.form-box form p span.label{
    font-size: clamp(1.4rem,3.73vw,2.8rem);
}

.form-box form dt.block{
    font-size: clamp(1.4rem,3.73vw,2.8rem);
    font-weight: 600;
}

.form-box .col p:nth-child(2){
	margin-left: 10px;
	width: calc(50% - 10px);
}

.form-box form dt span.label,
.form-box form p span.label{
	background: none !important;
	color: inherit;
    text-align: left;
    font-weight: 600;
    padding: 0;
    display: inline;
}

.form-box dd .note{
    font-size: clamp(1.2rem, 2.66vw, 2rem);
}

.form-box dd input.inline{
	width: calc(100% - 3em);
	max-width: 100%;
}

dl.hasborder{
    padding-top: 3em !important;
    margin-top: 3em;
}
label.radio{
	font-size: clamp(1.2rem, 3.2vw, 2.4rem);
	font-weight: 600;
}


label.radio .checkmark:after{
    background: #3291e4;
}

label.radio .checkmark {
    position: absolute;
    top: calc(50% + .2em);
    left: .7em;
    transform: translateY(-50%);
    height: 4vw;
    width: 4vw;
    max-width: 30px;
    max-height: 30px;
    background-color: #fff;
    border: 1px solid #bebebe;
    border-radius: 100px;
}

label.radio input ~ .label_box{
    position: absolute;
    top: 0;
    left: 0;
    border: 1px solid #bebebe;
	border-radius: .5em;
    width: 100%;
    height: 100%;
}

label.radio input:checked ~ .label_box {
	border-color: #3291e4;
	border-width: 2px;
}

.icn_label{
	display: inline-block;
	width: 1em;
	height: 1em;
	font-size: clamp(3.3rem,8.79vw,6.6rem);
	border-radius: 100%;
    margin: -.1em .18em 0 .03em;
	vertical-align: middle;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: contain;
}

.icn_label.icn_01{
	background-image: url(svg/icons/icn_01@2x.png);
}

.icn_label.icn_02{
	background-image: url(svg/icons/icn_02@2x.png);
}

.icn_label.icn_03{
	background-image: url(svg/icons/icn_03@2x.png);
}

.icn_label.icn_04{
	background-image: url(svg/icons/icn_04@2x.png);
}

.icn_label.icn_05{
	background-image: url(svg/icons/icn_05@2x.png);
}

.icn_label.icn_06{
	background-image: url(svg/icons/icn_06@2x.png);
}

.icn_label.icn_07{
	background-image: url(svg/icons/icn_07@2x.png);
}

.icn_label.icn_08{
	background-image: url(svg/icons/icn_08@2x.png);
}

.icn_label.icn_09{
	background-image: url(svg/icons/icn_09@2x.png);
}

.btn-txt_logout{
    font-size: clamp(1.21rem,3.23vw,2.43rem);
    font-weight: 500;
    margin: 0 auto;
    text-align: center;
}

.btn-txt_logout a{
    color: #3291e4;
	background: none;
	text-align: center;
	font-size: 1em;
	padding: 2em 0;
}

.success {
    font-size: 1.5rem;
    padding: 1em;
    margin: 0 auto;
    border: none;
    background: #f3f9ff;
    text-align: center;
    width: 100%;
    max-width: 100%;
    font-size: clamp(1.15rem,3.06vw,2.3rem);
	box-sizing: border-box;
}

#advance_payment h2{
	background: #3291e4;
    font-weight: 600;
    padding-left: 0;
	text-align: center;
	font-size: clamp(1.4rem,3.73vw,2.8rem);
}

.txt_line{
	text-align: center;
	position: relative;
}
.txt_line:before{
	content: "";
	width: 100%;
	height: 1px;
	position: absolute;
	top: 50%;
	left: 0;
	background: #333;
}
.txt_line span{
	display: inline-block;
	background: #fff;
	padding: 0 1em;
	position: relative;
	font-size:clamp(1.439rem,3.837vw,2.878rem);
	z-index: 1;
	font-weight: 600;
}

body.complete .confirm {
	position: fixed;
}

.confirm .overlay{
	background: rgba( 0,0,0,.56 );
}

.confirm .inner-box{
	width: 90%;
	margin: 5% auto;
	padding: 0 0 5%;
}

.confirm .btn{
	opacity: 0;
}
.confirm .box {
    position: fixed;
	top: inherit;
    left: 0;
    right: 0;
    transform: unset;
    background: #fff;
    max-height: 90vh;
    overflow: auto;
    border-radius: 2rem;
    border: solid 1px #909091;
    z-index: 999999;
    bottom: -100%;
    margin: 0;
    vertical-align: middle;
    transition: all .4s;
}
.confirm .ttl{
    text-align: center;
    font-size: clamp(1.25rem, 3.43vw, 2.579rem);
    font-weight: 600;
}
body.complete .confirm .box {
	bottom: 0;
	border-bottom-left-radius: unset;
	border-bottom-right-radius: unset;
}
.confirm .mail-box dd span{
	border-bottom: 1px solid #b0b0b0;
}
.confirm .mail-box dd p{
	padding: 0;
	border: none;
    font-size: clamp(1rem, 2.66vw, 2rem);
    line-height: 1.5;
}
.confirm .mail-box .btn-02 a{
	color: #3291e4;
	background: #fff;
	border-color: #3291e4;
}
.confirm .mail-box input[type='submit']{
	background: #3291e4;
}
/* ----------------------------------------------------------------------
00.login
---------------------------------------------------------------------- */
/*00ページ共通*/
.app_00 #header{
    height: auto;
    padding: 13% 0;
	position: relative !important;
}
.app_00 #header img{
    width: 46.3%;
    max-width: 348px;
}
#login #contents,
#account.app_00 #contents{
    padding-top: 53.5%;
	background: none;
	display: block;
    font-size: clamp(1.15rem, 3.06vw, 2.3rem);
}

#account.app_00 #contents{
    padding-top: 0 !important;
}
.app_00 .form-box form dl {
    margin-top: 6%;
}
#account.app_00 .form-box .read_txt{
    text-align: left;
    font-weight: normal;
    margin: 2.6em auto 3.8em;
    font-size: clamp(1.15rem, 3.066vw, 2.3rem);
    line-height: 1.2;
    /* width: 88%; */ */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#account.app_00 .form-box input[type="submit"]{
    margin-top: 2.7em;
}

/* 会員登録ページ*/
.account_join #header{
    height: auto;
    padding: 12.4% 0;
	position: relative !important;
}
.account_join #header img{
    width: 54.5%;
    max-width: 405px;
}
.account_join .form-box form dl {
    margin-top: 8%;
}
#account.account_join #contents{
    padding-top: 36%;
}
#account.account_join .form-box.block form dt + dd {
    margin-bottom: 3.25em !important;
}

#account.account_join .form-box.block form dt + dd:last-child {
    margin-bottom: 1.25em !important;
}

/* 調整 */
#account section {
    padding: .5em 5%;
}
/* #account input[type='submit']{
	margin-top: 2em;
	max-width: 50%;
} */
#account .btn-02 a{
	max-width: 50%;
}
#account .border_t{
	border: none;
}
#account .form-box p{
	padding-top: 0;
    font-size: clamp(1.3rem, 3.46vw, 2.6rem);
	font-weight: 600;
}
#account .form-box .check_txt {
    padding-top: 0;
    font-size: clamp(1.154rem, 3.18vw, 2.39rem);
    font-weight: 400;
    margin-bottom: 2em;
}
#account .form-box p + p {
    margin: 1em auto;
}

#account .form-box .read {
    text-align: left;
    padding: 1em;
    background: #fff6de;
    font-weight: 400;
	line-height: 1.3;
	letter-spacing: 0;
    font-size: clamp(1.2rem, 2.66vw, 2rem);
	margin-bottom: 2em;
}
#account .width-g-recaptcha {
    width: 298px !important;
}

/* #account .form-box .toggle-btn {
    text-align: center;
    background: #f3f9ff;
    padding: 1em;
} */

#account .toggle-btn a {
    border: none;
    text-align: left;
    color: #3291e4;
    font-weight: 400;
    background: #fff url(svg/icon-20.svg) no-repeat 0 50%;
    background-size: 1.3em auto;
    max-width: 100%;
    box-sizing: border-box;
    font-size: clamp(1.05rem, 2.80vw, 2.1rem);
    padding: 1em 0 1em 2em;
    margin-top: 3em;
}
#account .toggle-btn a:hover {
    background: #fff url( svg/icon-20.svg ) no-repeat 0 50%;
    background-size: 1.3em auto;
}
#account ol.flow li .point h4, #account ol.flow li .notes h4,
#account ol.flow > li h3{
    font-size: clamp(1.15rem, 3.06vw, 2.3rem);
}
#account ol.flow > li h3{
	padding-left: 2.5em;
}
#account ol.flow > li h3:before {
    width: 1.4em;
    font-size: 1.5em;
}
#login .form-box{
	padding: 0;
}

#login .form-box.block form dd + dd{
	margin-top: 1em !important;
}
#login .pink-btn-submit{
	margin:2em auto;
    background-size: .3em auto !important;
    background-position: right 1.25em center !important;
}

#login .form-box p{
	padding-top: 0;
	font-weight: 600;
    font-size: clamp(1.4rem,3.73vw,2.8rem);
}
#login .pink-btn-submit{
    background-color: #3291e4 !important;
}
#login .form-box .note{
}
#login .form-box .note a{
	padding: 10px 20px;
    font-size: clamp(1.2rem, 2.66vw, 2rem);
	text-align: left;
	display: block;
    background: #fff6de url(svg/arrow_gray.svg) right 20px center / 6px no-repeat;
}
#account .form-box .pp-box .check label{
    font-size: clamp(1.2rem, 2.66vw, 2rem);
}

#account .width-g-recaptcha {
    width: 398px !important;
}
#account ol.flow li .notes .btn-02 a {
    font-size: 1.2rem;
    text-align: left;
    font-size: 1em;
    padding-right: 5em;
	background-repeat: no-repeat;
}
#account .form-box .pp-box .toggle-box {
    margin: 6.5% auto 0;
    padding: 0 4% 5%;
    border: 1px solid #ccc;
    border-radius: .5em;
    height: 11.5em;
    overflow-y: auto;
}
#account .form-box .pp-box .toggle-box dt{
	padding: 1em 0 .5em;
    background: none;
    color: #222;
    font-size: clamp(1.55rem, 4.13vw, 3.1rem);
}
#account .form-box .pp-box .toggle-box dd{
	font-size: clamp(1.05rem, 2.80vw, 2.1rem);
    background: #fff;
    overflow: visible;
    height: initial;
    border: none !important;
    padding: 0 !important;
}
#account .form-box .pp-box .toggle-box dl {
    margin-top: 0;
}

#account .flow-box {
	padding: 0 5%;
}

#account .flow-box .toggle-btn a {
	margin-top: 0;
}
#account ol.flow{
	background: #f3f9ff;
    padding: 1.5em 1em .5em;
    border-radius: .5em;
}
#account ol.flow li .point,
#account ol.flow li .notes {
    padding: 1em 1.5em;
    margin: 1em 0 1em auto;
    border: solid .2em #efeff4;
    border-radius: .5em;
    width: calc(100% - 2em);
    margin-right: 0;
    box-sizing: border-box;
}

#account ol.flow > li {
    margin: 0 auto 1em;
	padding: .5em 1em;
    background: none;
	background: #fff;
}

#account .flow-box .toggle-box{
    width: 95%;
    margin: 0 auto;
}
#account .flow-box .toggle-box h3{
    font-size: clamp(1.2rem,3.2vw,2.4rem);
    font-weight: 600;
}

#account .flow-box .toggle-box p.desc{
    border-bottom: 1px solid #bebebe;
    font-size: clamp(1.05rem, 2.80vw, 2.1rem);
    padding: 0 0 .8em;
    margin-bottom: 1.4em;
    line-height: 1.5;
}

#account .flow-box .toggle-box .flow-list li {
  list-style-type: none;
  counter-increment: cnt;
  font-size: clamp(1.05rem,2.80vw,2.1rem);
    text-indent: -1em;
    padding-left: 1.5em;
    line-height: 1.5;
}

#account .flow-box .toggle-box .flow-list li::before {
  content: counter(cnt)".";
}

#account .flow-box .toggle-box .gray-box {
    background: #f5f5f5;
    padding: 3% 4%;
    border-radius: .5em;
    margin: 5% auto 3%;
}

#account .flow-box .toggle-box .gray-box p{
    line-height: 1.3;
    letter-spacing: 0;
    margin-bottom: 1.3em;
}
#account .flow-box .toggle-box .gray-box li{
    text-indent: -1em;
    padding-left: 1em;
    line-height: 1.3;
    letter-spacing: 0;
}

/* ----------------------------------------------------------------------
01.info
---------------------------------------------------------------------- */

.new_party_info_create_form dl .check.bottom p{
    font-size: clamp(1.15rem, 3.06vw, 2.3rem);
	font-weight: 600;
}

.new_party_info_create_form .txt-box p{
    font-size: clamp(1.05rem,2.80vw,2.1rem);
}

.new_party_info_create_form dd.c_user_type_radio{
    border-bottom: 1px solid #b0b0b0;
	padding-bottom: 3em;
	margin-bottom: 3em;
}
.new_party_info_create_form dd.c_user_type_radio .txt-box{
	margin:1em 0 0;
}

.form-box form dd.nobordertop {
	margin-bottom: 2em;
}


/* ----------------------------------------------------------------------
02.edit
---------------------------------------------------------------------- */

.fixed_header{
	display: none !important;
}

dl .check {
    color: #000;
    background: #fff6de;
	display: block;
    font-size: clamp(1.15rem,3.06vw,2.3rem);
    border-radius: .3em;
    /* padding: 1.2em 2.5em .5em; */
    padding: 1.2em 2.5em;
}

dl .check p {
    font-size: 1em;
}

.app_02 .form-box form dd {
    background: #fff;
    border-radius: .5em;
    padding: 5% !important;
}

#edit-party #wrapper{
	padding: 0;
}
/* #edit-party #contents{
	padding-top: 0;
} */

#advance_payment header{
	position: fixed;
    top: 0;
    width: 100%;
    /* max-width: 960px; */
    max-width: 750px;
    z-index: 99;
    transition: top .2s;
    background: #3291e4;
    height: 4.25em;
    font-size: clamp(1.7rem, 4.53vw, 3.4rem);
}
#advance_payment header h1 {
    background: transparent;
    color: #fff;
    border: none;
    height: auto;
    line-height: 1.5;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 1em;
	padding:0;
}
#edit-party.design-form input[type="text"], #edit-party.design-form input[type="email"], #edit-party.design-form input[type="date"], #edit-party.design-form input[type="tel"]{
	font-size: 1em;
}
#edit-party.design-form article form dl {
    padding: 0;
    width: 95%;
    margin: 0 auto 6%;
    max-width: 750px;
	border:none;
}

#edit-party.design-form article form dl dt .txt{
    display: block;
    font-size: clamp(1.15rem, 3.06vw,2.3rem);
    letter-spacing: 0;
    margin-top: .5em;
    font-weight: 400;
}
#edit-party.design-form article label.checkbox{
    font-size: clamp(1.3rem, 3.46vw, 2.6rem);
}

#edit-party.design-form article form dl .check{
    font-size: clamp(1.15rem,3.06vw,2.3rem);
    line-height: 1.5;
}

#edit-party.design-form article form dl .pic dl {
    width: 100%;
}

#edit-party.design-form .pic .img-wrap{
    font-size: clamp(1.15rem,3.06vw,2.3rem);
}

#edit-party.design-form .pic label.file-photo,
#edit-party.design-form .pic label.select-photo{
    font-size: clamp(1.15rem,3.06vw,2.3rem);
    padding: 1.3em 1.2em;
    padding-left: 4em;
}
#edit-party.design-form article label.checkbox .checkmark:after{
	border-color: #6c6c6c;
}

#edit-party.design-form article form .mes > ul{
    background: none;
    padding: 0;
    border: none;
}

#edit-party.design-form article form .mes > ul li,
#edit-party.design-form article label.checkbox,
#edit-party.design-form article label.checkbox p{
	color: inherit;
    font-size: clamp(1.15rem,3.06vw,2.3rem);
}
#edit-party.design-form select{
	font-size: clamp(1.6rem, 3.2vw, 2.4rem);
	margin:0;
}
.design-form .btn-set {
    padding: 0;
    font-size: clamp(1.2rem, 2.66vw, 2rem);
}

#edit-party .btn-02 a {
    border: 1px solid #bebebe;
    border-radius: .3em;
    padding: 1.5em 2em;
    line-height: 1em;
    color: #454545;
    font-size: clamp(1.15rem,3.06vw,2.3rem);
    letter-spacing: .1em;
    width: 100% !important;
    margin: 1em auto .5em;
    background: #fff url(svg/arrow_blk.svg) center center no-repeat;
    background-size: .3em;
    background-position: right 1.2em center;
    transition: none;
    max-width: 100%;
    box-sizing: border-box;
	transition: all .2s;
}
#edit-party .btn-02 a:hover{
    background-size: .3em;
    background-position: right 1em center;
}
#edit-party .payment_mes .btn-set{
	display: flex;
	flex-direction: column-reverse;
}
#edit-party .payment_mes .btn-set p{
    font-size: clamp(1rem, 2.66vw, 2rem);
    letter-spacing: 0;
}
#edit-party.design-form article form .mes.payment_mes{
	padding:0;
}
#edit-party.design-form article form .mes > ul li{
	padding: 0;
}
#edit-party.design-form article label.checkbox{
	line-height: 1.4;
    margin: .6em auto;
}
#edit-party .btn-set-box{
	width: 95%;
	margin: 9% auto;
}
#edit-party .btn-set-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 4%;
}
#edit-party .btn-set-list li{
	width: 48%;
	box-sizing: border-box;
	margin:0;
}
#edit-party .btn-set-list li > *{
	margin: 0;
}

#edit-party.design-form .c-link.btn-link a {
    border: none;
    padding: 0 1em 0 0;
    text-align: right;
    display: block;
    font-size: clamp(1.1rem,2.93vw,2.2rem);
    background: url(./svg/icons/arw2.svg) no-repeat 100% 50%;
    background-size: .5em auto;
    color: #3291e4;
}

#edit-party.design-form .c-link.btn-link a:hover {
    color: #3291e4;
    background: url(./svg/icons/arw2.svg) no-repeat 100% 50%;
    background-size: .5em auto;
}

#edit-party.design-form .btn-06{
    margin-bottom: 7em;
}

#edit-party label.radio .small-txt{
    display: block;
    font-style: normal;
    font-size: clamp(.95rem,2.533vw,1.9rem);
}

#edit-party.design-form dd .txt-red{
    font-size: clamp(1.15rem, 3.06vw, 2.3rem);
    color: #e61b1b;
    margin: 1em 0 .9em;
    letter-spacing: 0;
    font-weight: 600;
    line-height: 1.6;
}

#edit-party.design-form dd .indent li{
    text-indent: -1em;
    padding-left: 1em;
    font-size: clamp(1.1rem, 2.93vw, 2.2rem);
    line-height: 1.4;
}

#edit-party.design-form dt.uniform,
#edit-party.design-form dd.uniform,
#edit-party.design-form dt.separate,
#edit-party.design-form dd.separate{
    background: #fff;
    margin: 0;
    border-radius: 0;
    padding: 0 5%;
}

.link-dt{
    margin: 0;
    position: absolute;
    right: 0;
    top: .5em;
    font-size: clamp(1.1rem, 2.93vw, 2.2rem);
}
.link-dt a{
    text-decoration: none;
    color: #343434;
}
.link-dt a::before{
    background-image: url(./img/icons/icn_q@2x.png);
}
.link-dt a::after{
    display: none;
}

.answer .answer_checks ul li .title{
    font-size: clamp(1.3rem, 3.46vw, 2.6rem);
}
/* .answer .answer_checks ul, */
.c_family_member_fee_top {
    border-top: 1px solid #bfbfbf;
}
.answer .answer_checks{
	margin-top: 1em;
}
.answer .answer_checks ul li .checks .checkmark{
	left: 0;
}
.date_schedule{
    border: 1px solid #bebebe;
    padding: .2em 1em;
    font-size: clamp(1.4rem,3.73vw,2.8rem);
    line-height: 2.5em;
    border-radius: .3em;
}
.date_box{
    color: #000;
    background: #fff6de;
	display: block;
    font-size: clamp(1.15rem,3.06vw,2.3rem);
    border-radius: .3em;
    /* padding: 1.2em 2.5em .5em; */
    line-height: 1.5;
    padding: 1.2em 2.5em;
	margin-top: 1em;
}

/* modal */

.modal_content_slide li .inner, #modal_page .inner {
    padding: 3%;
    padding-bottom: 7%;
    min-height: 20vh;
    height: 63vh;
    overflow-y: auto;
}

#modal_page .inner {
    padding: 0px;
    position: relative;
    overflow-x: hidden;
    height: calc(90vh - 60px);
}

#modal_page.tips_online_modal .inner {
    padding: 4% 7% 2%;
    height: auto;
}

#modal_page.tips_online_modal .ttl_center{
	text-align: center;
	font-size: clamp(1.25rem,3.43vw,2.579rem);
	font-weight: 600;
}
#modal_page.tips_online_modal .ttl_center span{
	display: block;
    font-size: clamp(1.2rem, 2.66vw, 2rem);
    font-weight: normal;
    line-height: 1.2;
}

.modaal-content-container {
    padding: 0 !important;
    background: #fff;
    border-radius: 1.5em;
}
.modaal-close:after, .modaal-close:before {
    display: block;
    content: " ";
    position: absolute;
    top: .1em !important;
    left: calc(50% - .1em) !important;
    width: 1px !important;
    height: 1.7em !important;
    background: #717171 !important;
    border-radius: 0 !important;
    -webkit-transition: background .2s ease-in-out;
    transition: background .2s ease-in-out;
}
#edit-party.design-form .btn-01.btn a{
	background-image: none;
}
#edit-party.design-form .modaal-wrapper .modaal-close {
    top: 5.5% !important;
    right: 3.5% !important;
    width: 2em;
    height: 2em;
    /* border: 1px solid #000 !important; */
    border-radius: unset;
}

/* プレビューモーダルは縦長のため、%指定だと×が下にずれる。右上角に固定する */
#edit-party.design-form .modaal-wrapper.modal-open-preview2 .modaal-close {
    top: 8px !important;
    right: 8px !important;
}

.modaal-overlay{
	opacity: .56 !important;
}
/* ----------------------------------------------------------------------
03.list
---------------------------------------------------------------------- */
#party-list .wrap{
	padding: 0;
	width: 95%;
	margin: 0 auto 8em;
}

#party-list .ttl-txt {
    text-align: left;
    padding: 0 .5em;
    font-weight: 600;
    font-size: clamp(1rem, 2.65vw, 1.99rem);
    margin-bottom: 1em;
}
#party-list #wrapper{
}
#party-list #wrapper .account:last-child {
    border-bottom: 1px solid #e7e7e7;
}

#party-list #wrapper .account {
    border: none;
    border-top: 1px solid #e7e7e7;
    background: #fff url(svg/arrow-01.svg) right 10px center / 8px no-repeat;
    display: block;
    justify-content: space-between;
    align-content: center;
    flex-wrap: nowrap;
    align-items: center;
}
#party-list #wrapper .account a{
	display: block;
}
#party-list #wrapper .account{
	position: relative;
}
#party-list #wrapper .account .account-box + a.btn_copy {
    position: absolute;
    top: calc(50% + 1.2em);
    left: calc(12.5vw + 10px + 1em);
    margin: 0;
    display: block;
    width: auto;
    font-size: clamp(.7rem,2vw,1.5rem);
    border: none;
    color: #3291e4;
    background: #d6e9fa;
    font-weight: 600;
    border-radius: .273em;
}
#party-list #wrapper .account-box a {
    -js-display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    padding: 4% 5px;
	border: none;
    background: #fff url(svg/icons/arw.svg) no-repeat 96% 50%;
    background-size: .5em auto;
    position: relative;
}
#party-list .fixedbtn{
	padding: 20px 0;
}
#party-list .btn-01 a {
    width: 90%;
    max-width: 600px;
    margin: 0 auto;
}
#party-list .btn-01 a .small{
	font-size: .6em;
	display: block;
}
#party-list #wrapper .account .btn_lnk{
    width: calc(100% - 40px - 5em);
    padding-right: 0px;
    box-sizing: border-box;
    font-size: 1.1rem;
}
#party-list #wrapper .account a.btn_copy{
    font-size: clamp(1.15rem,3.06vw,2.3rem);
	position: relative;
}
#wrapper .account a span{
    font-size: clamp(1.15rem,3.06vw,2.3rem);
}

#edit-party.design-form .c-link.btn{
	padding: 0;
}

/* #edit-party.design-form .c-link.btn a {
    border: none;
    text-align: left;
	background: #fff6de url(svg/icons/arw.svg) right 1.7em center / .4em no-repeat;
	display: block;
	border-radius: unset;
    font-size: clamp(1.15rem,3.06vw,2.3rem);
    padding: 1.2em 2.5em;
	margin-top: 1em;
} */

#party-list.app_03 .btn_float .btn-add a{
    margin-bottom: .2em;
}

#party-list.app_03 .btn_float .small-txt{
    font-size: clamp(.9rem,2.4vw,1.8rem);
}
#party-list #wrapper .account a span{
    padding: 0;
}
#party-list #wrapper .account a > span {
    width: calc(100% - 12.5vw - 0.5em);
    padding-left: 1em;
}

#party-list #wrapper .account a img {
    width: 12.5vw;
    height: 12.5vw;
    min-width: 12.5vw;
    min-height: 12.5vw;
    background: none;
    display: block;
    border: none;
}
#party-list #wrapper .account a span.time{
    font-size: clamp(1rem, 2.66vw, 2rem);
}

#party-list #wrapper .account a span.name{
    font-weight: 600;
    font-size: clamp(1.2rem,3.2vw,2.4rem);
}

#party-list #wrapper .account a span.en{
    font-size: clamp(.55rem, 1.46vw,1.1rem);
}
#party-list #wrapper .account a span .category{
    font-size: clamp(1rem, 2.66vw, 2rem);
    margin-top: .5em;
    margin-bottom: 2em;
}

/* ----------------------------------------------------------------------
04.home
---------------------------------------------------------------------- */

#home.index #wrapper{
	background: #a1d3ff;
	padding: 0;
}
#home.index #contents{
    background: #fff;
    margin: 17vw auto 0;
    border-top-left-radius: 3em;
    border-top-right-radius: 3em;
    overflow: unset;
    padding-bottom: 1px;
    padding-top: 6.8vw;
}
@media screen and ( min-width: 751px ) {
	#home.index #contents{
		margin-top:114px;
		padding-top:168px;
	}
}
#home.index #header{
    display: none;
}

#home.index .wrap-sec-01{
    padding-bottom: 1.5%;
}

#contents .account-menu{
    margin-top: -16.666vw;
    margin-bottom: 0;
    padding-bottom: 4.9%;
}

@media screen and ( min-width: 751px ) {

	#contents .account-menu{
		margin-top: -245px;
	}
}
.account-thumbnail{
    aspect-ratio: 1 / 1;
    overflow: hidden;
    width: 20vw;
	max-width: 150px;
    border: .55em solid #fff;
    /* max-width: 200px; */
    margin: 0 auto;
    border-radius: 50%;
}

.account-thumbnail img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.account-menu .txt-name{
    font-size: clamp(1.59rem,4.22vw,3.17rem);
    font-weight: 600;
    margin: .35em auto 0;
    letter-spacing: .15em;
}

.account-menu .txt-name_en{
    color: #ddd;
    font-size: clamp(.8rem,1.67vw,1.253rem);
    display: block;
    letter-spacing: .12em;
    line-height: 1.5;
}

.account-menu .txt-link_share{
    font-size: clamp(1.1rem,2.93vw,2.2rem);
    font-weight: 600;
    color: #3291e4;
}

.account-menu .txt-link_share a{
    color: #3291e4;
    font-size: 1em;
    background: none;
    padding: 0;
}

.account-menu .txt-link_share a:after{
    content: "";
    background: url(svg/icons/arw2.svg) no-repeat 50% 50%;
    background-size: contain;
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: middle;
    margin: -.25em 0 0 1em;
    width: .3335em;
    height: .5835em;
}

.account-menu .txt-pay{
    font-size: clamp(1.1rem,2.93vw,2.2rem);
    font-weight: 600;
    color: #3291e4;
    margin: 1em auto 1em;
    text-align: center;
}

.account-menu .txt-data_pay{
    border: .05em solid #3291e4;
    border-radius: 3em;
    display: inline-block;
    padding: .5em 2em;
    min-width: 49%;
    box-sizing: border-box;
    letter-spacing: .13em;
}

.main-menu{
    margin-bottom: 5%;
}

.main-menu .list-nav-main{
    display: flex;
    justify-content: center;
    width: 88.5%;
    margin: 0 auto;
}

.main-menu .list-nav-main li{
    width: 23%;
    padding: 0 1%;
    font-weight: 600;
    font-size: clamp(1.2rem,3.2vw,2.4rem);
}

.main-menu .list-nav-main li .icon{
    width: 74%;
    margin: 0 auto 9%;
}

.main-menu .list-nav-main li .icon img{
    width: 100%;
}

.main-menu .list-nav-main li a{
    display: block;
    position: relative;
}

#home.index .main-menu .list-nav-main li a:after {
    content: "00";
    position: absolute;
    top: .5em;
    left: 0;
    border: 1px solid #3291e4;
    border-radius: 2em;
    color: #3291e4;
    padding: .2em .85em .1em;
    font-size: clamp(.8rem, 2.13vw, 1.6rem);
    z-index: 1;
    background: #fff;
    letter-spacing: 0;
    line-height: 1.7;
}

#home.index .main-menu .list-nav-main li:nth-child(1) a:after {
    content: "01";
}

#home.index .main-menu .list-nav-main li:nth-child(2) a:after {
    content: "02";
}
#home.index .main-menu .list-nav-main li:nth-child(3) a:after {
    content: "03";
}

#home.index .main-menu .list-nav-main li:nth-child(4) a:after {
    content: "04";
}

.main-menu .list-nav-main li .txt-link{
    display: block;
    line-height: 1.25;
    white-space: nowrap;
}

.sub-menu {
    padding: 5.8% 4.5% 0 5%;
    margin-bottom: 0;
}

.sub-menu .ttl-txt{
    text-align: left;
    font-size: clamp(1.4rem,3.73vw,2.8rem);
    font-weight: 600;
    text-indent: .25em;
    margin: 0 0 .8em;
}

.sub-menu .list-nav-child li{
    font-size: clamp(1.2rem,3.2vw,2.4rem);
    font-weight: 600;
    margin: 0 auto .62em;
}

.sub-menu .list-nav-child li.popup_pick{
    z-index: 10000;
    position: relative;
}

.sub-menu .list-nav-child li a{
    background: #fff;
    position: relative;
    padding: 1.5em 2.1em 1.5em 5.5em;
    display: block;
    text-align: left;
    border-radius: .5em;
}

.sub-menu .list-nav-child li a:after{
    content: "";
    background: url(svg/icons/arw.svg) no-repeat 50% 50%;
    background-size: contain;
    position: absolute;
    right: 2.3em;
    top: 50%;
    width: .3335em;
    height: .5835em;
    margin-top: -.25em;
}

.sub-menu .list-nav-child li .icon{
    position: absolute;
    left: 2.1em;
    top: 50%;
    margin: -.8em 0 0 0;
    width: 1.85em;
    height: 1.65em;
}

.sub-menu .list-nav-child li .icon-excel{
    width: 1.5em;
    left: 2.3em;
}

.sub-menu .list-nav-child li .icon-email{
    width: 1.5em;
    left: 2.3em;
}

.sub-menu .list-nav-child li .icon img{
        width:100%;
        height:100%;
        object-fit: contain;
        object-position: center center;
}
.fixed-nav-02{
	background: rgba(255,255,255,.7);
	padding:15px;
}

.fixed-nav-02 .return,.fixed-nav-02 .delete,.fixed-nav-02 .submit {
    display: block;
    /* width: 29%; */
    padding: 10px;
    background-color: #FFF;
    margin-right: 5px;
    text-align: center;
    position: relative;
    line-height: 1.3;
    border: 1px solid #3291e4;
    color: #3291e4;
    font-weight: 600;
    border-radius: 9px;
    font-size: clamp(1.3rem, 3.46vw, 2.6rem);
}
.fixed-nav-02 .submit{
	background-color: #3291e4;
	color: #fff;
}
#dialog-message .popup_message .icn_pay{
	display: block;
	width: 50%;
	height: 6em;
	margin: 0 auto 1.2em;
	background: url(./img/icons/icn_pay@2x.png) no-repeat 50% 50%;
	background-size: contain;
}
#dialog-message .popup_message.message_2 .ttl{
    font-weight: 600;
}
#dialog-message .popup_message .ttl::after{
    display: none;
}
#dialog-message .popup_message .popup_warning p{
    font-size: clamp(1.1rem,2.93vw,2.2rem);
}
.send_preview {
    opacity: 0;
    visibility: hidden;
    z-index: -99999;
    transition: all .4s;
}

body.show_preview .send_preview {
    position: fixed;
}
body.show_preview .send_preview {
    opacity: 1;
    visibility: visible;
    z-index: 99999;
}
body.show_preview .overlay {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba( 0,0,0,.56 );
	z-index: 99999;
}
.send_preview .box {
    position: fixed;
    top: inherit;
    left: 0;
    right: 0;
    transform: unset;
    background: #fff;
    max-height: 90vh;
    overflow: auto;
    border-top-left-radius: 2.5em;
    border-top-right-radius: 2.5em;
    border: none;
    z-index: 999999;
    bottom: -100%;
    margin: 0;
    vertical-align: middle;
    transition: all .4s;
    padding: 7% 6% 6% 6%;
}
body.show_preview .send_preview .box {
    bottom: 0;
}
.send_preview .box .ttl{
	text-align: center;
	font-size: clamp(1.25rem,3.43vw,2.579rem);
	font-weight: 600;
}

/* ----------------------------------------------------------------------
05.member
---------------------------------------------------------------------- */

#home article section.member {
	padding: 0 5%;
}
#home article section.member > .wrap{
	padding: 0;
}
#home article section.member > h2{
    background: none;
    width: 100%;
    padding: .5em;
    box-sizing: border-box;
    font-size: clamp(1.2rem, 3.2vw, 2.4rem);
    border: none;
    margin: 0 auto;
    color: #000;
    border-radius: .3em;
    font-weight: 600;
    text-align: left;
}

.member_list {
    margin: 1% auto 7.5em;
}

.member_list .member_item {
    border: none;
    background: #fff;
    padding: 1.2em;
    font-size: clamp(1.2rem, 3.2vw, 2.4rem);
    border-radius: .5em;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    margin-bottom: 2.5%;
    text-align: left;
}

.member_list .member_item .img{
    width: 14%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.member_list .member_item .member_info {
    margin-left: 1em;
    max-width: 12em;
}

.member_list .member_item .member_info h3 {
    font-size: 1em;
    border: none;
    padding: 0;
    margin: 0 0 .5em;
    line-height: 1.2;
}

.member_list .member_item .member_info h3 .icn_check{
    width: .9em;
    height: .9em;
    display: inline-block;
    vertical-align: middle;
    background: url(./img/icons/icn_check@2x.png) no-repeat 50% 50%;
    background-size: contain;
    margin-right: .4em;
}
.member_list .member_item .member_info h3 .kana{
	font-size: .7em;
}


.member_list .member_item .member_info .mail {
    font-size: clamp(1.2rem, 2.66vw, 2rem);
    line-height: 1.2;
}

.member_list .member_item .registration,
.member_list .member_item .registration.check {
    font-size: clamp(.75rem,2vw,1.5rem);
    display: inline-block;
    width: auto;
    padding: .1em 1em;
    min-width: 6.5em;
    position: absolute;
    top: calc(50% - 1em);
    right: 1.6em;
    margin: 0;
    color: #3291e4;
    background: #fff;
    border: 1px solid #3291e4;
    border-radius: .3em;
    text-align: center;
    box-sizing: border-box;
}

.member_list .member_item .registration.check::before{
	display: none;
}

.member_list .member_item .registration.check {
    background: rgba(50,145,228,.2);
	border-color: transparent;
}

.member .confirm .inner-box input[type='url'] {
    font-size: clamp(1.05rem, 2.80vw, 2.1rem);
    padding: 1.5em 1.2em 1.2em;
    border-radius: .5em;
}

.member .confirm p.txt-box {
    text-align: left;
    line-height: 1.4;
    font-size: clamp(.95rem,2.533vw,1.9rem);
    padding: .5em;
}

.member .line-btn a {
    display: block;
    padding: 0;
    border: none;
    border-radius: 0;
    transition: all .2s;
    text-align: left;
    font-size: clamp(1.25rem, 3.43vw, 2.579rem);
    font-weight: 600;
    position: relative;
}

.member .line-btn a::before {
    display: inline-block;
    content: url( svg/icon-01.svg );
    width: 2.5em;
    margin: 0 .7em 0 .5em;
    transform: translateY( 5px );
    vertical-align: middle;
}

.member .line-btn a::after {
    content: "";
    width: .7em;
    height: .7em;
    position: absolute;
    right: .5em;
    bottom: calc(50% - .5em);
    background: url(./img/icons/icn_link_04@2x.png) no-repeat 50% 50%;
    background-size: contain;
}

/* ----------------------------------------------------------------------
06.send
---------------------------------------------------------------------- */

#home article section.send_invitation .copy_btn p{
	display: block;
	width: 100%;
	border: solid 1px #3291e4;
	border-radius: 9px;
	max-width: 250px;
	/* font-size: 1.6rem; */
    font-size: clamp(1.3rem, 3.46vw, 2.6rem);
	font-weight: 600;
	color: #fff;
	margin: 15px auto;
	padding: 20px;
	position: relative;
	background: #3291e4;
	cursor: pointer;
	transition: all .2s;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
#home article section.send_invitation .copy_btn p:hover{
	background: #fff;
	color: #3291e4;
}

.invitation input[type='url'], .invitation .text{

	/* font-size: 1.6rem; */
	font-size: clamp(1.6rem, 3.2vw, 2.4rem);
	background: #f5f5f5;
    border: 1px solid #f5f5f5;
	border-radius: 9px;
	display: block;
	width: 100%;
	margin: 5px 0;
	padding: 20px;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;	
}
#home article section.send_invitation > h2 {
    width: 90%;
    background: #f3f9ff;
    padding: 0px;
    border-radius: unset;
    margin: 0 auto;
    display: block;
    margin-top: 1em;
    padding: 1em;
    letter-spacing: .05em;
    position: relative;
    margin-bottom: 7%;
    color: #000;
    box-sizing: border-box;
	font-size: clamp(1.15rem, 3.06vw,2.3rem);
	font-weight: 600;
}
#home article section.send_invitation > h2::after{
	display: none;
}

#contents .invitation li img {
    width: auto;
    height: 3em !important;
}

#contents .invitation.send_invitation .sns li a,
#contents .invitation.send_invitation .sns figcaption{
	font-size: clamp(1.15rem, 3.06vw,2.3rem);

}
#contents .invitation.send_invitation .sns li {
    padding: 0px;
    width: 48%;
    height: 0px;
    padding-top: 48%;
    max-width: 380px;
    background: #fff;
    border-radius: .3em;
    position: relative;
    cursor: pointer;
    border: 1px solid #c6c6c6;
}

#contents .invitation .desc{
    font-size: clamp(1.3rem, 3.46vw, 2.6rem);
    text-align: center;
}
/* #contents .invitation .desc label{
	display: block;
	width: 100%;
	text-align: center;
} */

#contents .invitation .desc label{
	font-size: clamp(1.15rem, 3.06vw, 2.3rem);
}

/* #contents .invitation.send_invitation label.radio .checkmark{
	left:0;
} */

#l_invitation_password_message + div{
    font-size: clamp(1.2rem, 2.66vw, 2rem);
    line-height: 1.5;
    padding: 1em 0;	
}

#home.app_06 .send_invitation.url .link-url {
    text-align: right;
    margin: 3% 1.5% 0 0;
    font-size: clamp(1rem, 2.66vw, 2rem);
}

#home.app_06 .send_invitation.url .link-url a{
    display: inline-block;
    color:#3291e4;
}

#home.app_06 .send_invitation.url .link-url a:after {
    content: "";
    width: 1.2em;
    height: 1.2em;
    margin: -.5em 0 0 .8em;
    background: url(./img/icons/icn_link_03@2x.png) no-repeat 50% 50%;
    background-size: contain;
    display: inline-block;
    vertical-align: middle;
}

#home.app_06 .send_invitation.url input[type='url'] {
    padding: 1em;
    background: #fff !important;
    border: none;
}

#home.app_06 .send_invitation.url .desc {
    text-align: left;
    font-size: clamp(.95rem,2.533vw,1.9rem);
    line-height: 1.5;
    width: 96%;
    margin: 3% auto 3%;
}
#home.app_06 .send_invitation.url .confirm .password-box{
    width: 82%;
    margin: 0 auto;
    text-align: center;
}
#home.app_06 .send_invitation.url .confirm .password-box label:nth-child(1){
    text-align: left;
    display: block;
}
#home.app_06 .send_invitation.url .confirm .c_input{
    width: 82%;
    margin: 0 auto;
    text-align: left;
}

#home.app_06 .send_invitation.url .confirm .c_input .txt-red{
    color: #272727;
    font-size: clamp(.95rem,2.533vw,1.9rem);
    letter-spacing: 0;
    line-height: 1.5;
}

#home.app_06 .send_invitation.url .confirm .password-box .radio-box{
    -js-display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin: 5% auto;
}

#home.app_06 .send_invitation.url .confirm .password-box .radio-box .radio{
    box-sizing: border-box;
    width: 48%;
    padding: .9em 1em .6em 3.6em;
    text-align: left;
    font-size: clamp(1.05rem, 2.80vw, 2.1rem);
    font-weight: 500;
}
#home.app_06 .send_invitation.url .confirm .password-box .radio-box .radio .checkmark{
    left: 1.2em;
}

#home.app_06 .send_invitation.url .confirm input[type='text']{
	border:none;
    border-bottom: 1px solid #b0b0b0;
	background: none;
	border-radius: 0;
	padding: .1em 0;
	outline: 0;
}
#home.app_06 .send_invitation.url .confirm input[type='text']:focus{
    border-color: #3291e4;
}

#home.app_06 .send_invitation.url .confirm .desc{
    max-width: 100%;
    width: 82%;
    margin: 0 auto;
}

#home.app_06 .send_invitation.paper_web .center{
    font-size: clamp(1.36rem, 3.62vw, 2.72rem);
    margin: 11% auto 7%;
    line-height: 1.5;
    letter-spacing: 0;
}

#home.app_06 .send_invitation.paper_web .list-box{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 83%;
    margin: 0 auto;
}

#home.app_06 .send_invitation.paper_web .list-box .share-btn {
    background: #fff;
    border-radius: .7em;
    width: calc(50% - .5em);
    box-sizing: border-box;
    margin-bottom: 1.5em;
    text-align: center;
}

#home.app_06 .send_invitation.paper_web .list-box .share-btn a{
    display: block;
    padding: 7%;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}

#home.app_06 .send_invitation.paper_web .list-box .share-btn a .icn {
    display: block;
    width: 27%;
    height: 2.7em;
    /* border: 1px solid; */
    margin: 6% auto 1em;
    display: block;
}

#home.app_06 .send_invitation.paper_web .list-box .share-btn a .icn_line {
    background: url(./img/icons/icn_line_02@2x.png) no-repeat 50% 50%;
    background-size: contain;
}

#home.app_06 .send_invitation.paper_web .list-box .share-btn a .icn_url {
    background: url(./img/icons/icn_link_02@2x.png) no-repeat 50% 50%;
    background-size: 75% auto;
}

#home.app_06 .send_invitation.paper_web .list-box .share-btn p{
    font-size: clamp(.8rem, 2.13vw, 1.6rem);
    font-weight: 600;
}
#home.app_06 .send_invitation.paper_web .list-box .share-btn.qr img {
    width: 56%;
    margin: 13% auto 10%;
    display: block;
}

#home.app_06 .send_invitation.paper_web .list-box .share-btn:nth-child(1) {
    width: 100%;
    padding: 5%;
}

#home.app_06 .send_invitation.paper_web .list-box .share-btn:nth-child(2) {
    margin-right: 1em;
}

#home.app_06 .send_invitation.line .wrap{
    width: 90%;
    margin: 5% auto;
    background: #fff;
    box-sizing: border-box;
    border-radius: .8em;
    padding: 6% 4% 1px;
}
#home.app_06 .send_invitation.line .wrap .desc{
    font-size: clamp(1.05rem,2.80vw,2.1rem);
    font-weight: 600;
    margin-bottom: 1.5em;
}

#home.app_06 .send_invitation .wrap .copy_btn .desc {
    font-size: clamp(1.05rem,2.80vw,2.1rem);
    text-align: center;
    font-weight: 600;
    margin: 5% auto;
    background: #fff;
    border: 1px solid #3291e4;
    color: #3291e4;
    padding: 1em;
    width: 100%;
    box-sizing: border-box;
    max-width: 100%;
    border-radius: .5em;
}

#home.app_06 .send_invitation .wrap .copy_btn .desc:before {
    content: "";
    width: 1.4em;
    height: 1.4em;
    display: inline-block;
    vertical-align: middle;
    margin: 0 1em 0 0;
    background: url(./img/icons/icn_mark_plus@2x.png) no-repeat 50% 50%;
    background-size: contain;
}

#home.app_06 .send_invitation.line .wrap textarea{
    padding: .7em .6em;
    line-height: 1.3;
    height: 16.2em;
}

#home.app_06 .send_invitation.url .confirm .copy_btn {
    margin: 4.5% auto;
}

#home.app_06 .send_invitation.url .confirm .copy_btn .desc {
    max-width: 100%;
    width: 88%;
    margin: 0 auto;
    box-sizing: border-box;
    text-align: center;
    border-radius: .5em;
    padding: 1.2em 0;
}

.send_link_list {
    margin-top: 3.5%;
}

.send_link_list li a{
    font-weight: 600;
    font-size: clamp(1.25rem, 3.43vw, 2.579rem);
    position: relative;
    padding: 1.35em 1.5em 1.35em 2.9em;
    display: block;
    text-align: left;
}
.send_link_list li a:before {
    content: "";
    width: 1.6em;
    height: 1.7em;
    position: absolute;
    left: .2em;
    top: calc(50% - 1em );
}
.send_link_list li.url a:before {
    background: url(./img/icons/icn_img@2x.png) no-repeat 50% 50%;
    background-size: contain;
}
.send_link_list li.line a:before {
    background: url(./img/icons/icn_line_03@2x.png) no-repeat 50% 50%;
    background-size: contain;
    width: 1.7em;
}
.send_link_list li.qr a:before {
    background: url(./img/icons/icn_qr@2x.png) no-repeat 50% 50%;
    background-size: contain;
}
.send_link_list li a:after {
    content: "";
    background: url(svg/icons/arw.svg) no-repeat 50% 50%;
    background-size: contain;
    position: absolute;
    right: 0.5em;
    top: 50%;
    width: .45em;
    height: .7em;
    margin-top: -.35em;
}

/* ----------------------------------------------------------------------
07.send
---------------------------------------------------------------------- */

#attendance .top-nav{
	-js-display: flex;
    display: -ms-flex;
    display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
    width: 94%;
    margin: 0 auto 4%;
    justify-content: space-between;
}
#attendance .top-nav li{
    position: relative;
	width: 49%;
	text-align: center;
    background: #fff;
    border-radius: 1em;
}
#attendance .top-nav li a{
    display: block;
    padding: 2em 0 1em;
}
#attendance .top-nav li .icn{
    display: block;
    width: 1.8em;
    height: 1.8em;
    margin: 0 auto .8em;
}
#attendance .top-nav li .icn_edit{
    background: url(./svg/icons/icon_info.svg) no-repeat 50% 50%;
    background-size: contain;
}
#attendance .top-nav li .icn_email{
    background: url(./svg/icons/icon_email.svg) no-repeat 50% 50%;
    background-size: 88% auto;
}
#attendance .top-nav li .icn_execel{
    background: url(./svg/icons/icon_excel.svg) no-repeat 50% 50%;
    background-size: 85% auto;
}
#attendance .top-nav li p{
    font-size: clamp(.85rem,2.26vw,1.7rem);
    font-weight: 600;
}
#attendance .guest-list .tab ul {
	-js-display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    display: flex;
    width: 95%;
	margin: 0 auto;
	border: none;
    box-sizing: border-box;
}
#attendance .guest-list .tab li{
	width: 50%;
}
#attendance .guest-list .tab-wrap{
	padding: 1em 5%;
}
.attendance + .info{
	margin-top: 1em;
}
#attendance .guest-list .tab li a{
    background: none;
    color: #272727;
    font-weight: 600;
	display: block;
	border: none;
	border-bottom: 2px solid #adadad;
	border-radius: unset;
    padding: 1.5em 0 .8em;
}

#attendance .guest-list .tab a:hover, #attendance .guest-list .tab li.active a {
    background: none;
    color: #272727;
    font-weight: 600;
	border-bottom: 3px solid #3291e4;
}

#attendance .guest-list .tab-content .info {
    border: none;
    background: #f7f7f7;
    border-radius: .5rem;
    display: block;
    padding: 0;
    width: 100%;
    margin: 0 auto;
}

#attendance .guest-list .tab-content .info .paid_info {
	-js-display: flex;
    display: -ms-flex;
    display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
}

#attendance .guest-list .tab-content .info .paid_info p{
	width: 50%;
	text-align: center;
	padding: .8em 0;
    font-size: clamp(.9rem,2.4vw,1.8rem);
    position: relative;
}

#attendance .guest-list .tab-content .info .paid_info p:not(:last-child):before{
    content: "";
    width: 1px;
    height: 35%;
    position: absolute;
    right: 0;
    top: 35%;
    background: #b0b0b0;
}

#attendance .guest-list .tab-content .info .paid_info p strong{
	display: block;
    font-size: clamp(1.45rem,3.86vw,2.9rem)
}

#attendance .txt-box{
	margin: 3% auto;
}
#attendance .txt-box p{
	text-align: left;
    font-size: clamp(.9rem,2.4vw,1.8rem);
    line-height: 1.4;
    padding-left: 1em;
    text-indent: -1em;
}

.attendance li{
	text-align: left;
	border: none;
	background: #f7f7f7;
	border-radius: .5rem;
	margin-bottom: 1.5%;
}

.attendance li a {
    display: flex;
    justify-content: space-between;
    font-size: clamp(.9rem,2.4vw,1.8rem);
    font-weight: 600;
    padding: 2em 2.8em 2em 1em;
    position: relative;
    line-height: 1.2;
    background: url(svg/arrow-01.svg) no-repeat calc(100% - .8em) 50%;
    background-size: .5em auto;
    transition: all .2s;
}

.attendance li .name,
.attendance li .name .name_text{
	font-size: clamp(1.15rem, 3.06vw,2.3rem);
}
.attendance li .name {
    display: inline-flex;
    vertical-align: middle;
    width: 40%;
    color: #272727;
    box-sizing: border-box;
    position: relative;
    align-items: center;
    gap: 15px;
}

.attendance li a::before {
	content: "";
    width: 7em;
    top: inherit;
    bottom: inherit;
    left: inherit;
    text-align: center;
    font-size: clamp(.9rem,2.4vw,1.8rem);
    border-radius: 2em;
    display: inline-block;
    position: relative;
    padding: .2em .5em;
    box-sizing: border-box;
    margin: 0 1.4em 0 0;
    vertical-align: middle;
    align-self: center;
}

.attendance li.man a::before{
	content: "男性";
	color: #3291e4;
	background: #d0e3f3;
}

.attendance li.woman a::before{
	content: "女性";
	color: #eb7b7b;
	background: #ffe4e4;
}

.attendance li.companion a::before{
	content: "お連れ様";
	color: #eea36a;
	background: #ffe7d5;
}

/* 性別・お連れ様の表示がない場合、白い背景が見えてしまうため透明にする(レイアウト維持のため領域は残す) */
.attendance li.unknown a::before{
	background: transparent;
}
.attendance li .payment_details .declared {
    font-size: clamp(1rem,1.73vw,1.3rem);
    background: none;
    color: #646464;
    padding: 0;
    letter-spacing: 0;
    border-radius: unset;
    display: inline-block;
    vertical-align: middle;
}
.attendance li .payment_details .money{
    font-size: clamp(1.2rem, 2.66vw, 2rem);
}
.settlement div{
	font-size: 1em !important;
	text-align: left;
}
#attendance .tab a{
    font-size: clamp(1.3rem, 3.46vw, 2.6rem);
	border-radius: .3em;
}
#attendance #contents{
    padding-top: 6.5em;
}
#attendance .guest-list{
	margin-top: 0;
}
.fixed-nav li {
    width: 32%;
    margin-right: 1%;
    max-width: 320px;
}
.fixed-nav {
    max-width: 100%;
    padding: 1em;
    justify-content: center;
    align-items: center;
}

.fixed-nav a {
    padding-bottom: .5em;
    padding-top: .9em;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.fixed-nav .icon p {
    font-size: clamp(1.2rem, 3.2vw, 2.4rem);
    width: calc(100% - 4em);
    display: block;
    height: auto;
}

.fixed-nav .icon img {
    width: auto;
    height: 2.5em;
    max-width: 2.5em;
}

.friend-type li{
	position: relative;
    font-size: clamp(1.2rem, 2.66vw, 2rem);
}

.friend-type li:before{
	width: .2em;
	height: 1em;
}

.settlement{
    font-size: clamp(1.2rem, 2.66vw, 2rem);
	padding:1em;
	background: #fff6de;
    margin: 0 auto;
    width: 85%;
}

/* ----------------------------------------------------------------------
08.guest
---------------------------------------------------------------------- */

/* #guest-add input[type='text'], #guest-add input[type='tel'], #guest-add input[type='mail'], #guest-add input[type='email'], #guest-add input[type='email']{
	font-size: clamp(1.6rem, 3.2vw, 2.4rem);
	background: #f5f5f5;
    border: 1px solid #f5f5f5;
	border-radius: 9px;
	display: block;
	width: 100%;
	margin: 5px 0;
	padding: 20px;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
*/
.page-guest .form-inner_box{
	padding-top: 2em;
}

.page-guest .form-box{
	background: none;
	border: none;
	padding: 0;
	border-radius: unset;
    width: 95%;
    margin: 0 auto;
}

.page-guest .form-box dt{
	padding: 0;
}

.page-guest .form-box label{
	background: #fff;
	border: 1px solid #bebebe;
	font-weight: 600;
	padding: 10px 10px 10px 40px;
    border-radius: 9px;
}

.page-guest input:checked + label{
	border-color: #3291e4;
	color: #3291e4;
}

.page-guest input:checked + label .eng{
	color: #3291e4;
}

.page-guest .form-box.block form dd {
    margin-bottom: 2em !important;
}

.page-guest #contents {
    padding: 6em 0 0;
}
.page-guest ul.col{
	flex-wrap: wrap;
}
.page-guest ul.col li{
	padding: 0 5% 0 0;
	box-sizing: border-box;
	width: 33.3333%;
}
.page-guest ul.col li:first-child,
.page-guest ul.col li{
	padding: 0 2.5% 0 0;
	margin-bottom: 1em;
}

.page-guest ul.col li label{
	width: 100%;
	border: none;
}
.fixed-nav-02 .return::before, 
.fixed-nav-02 .n-return::before{
	background: url(svg/icons/arw2.svg) right 10px center / 6px no-repeat;
}

.page-guest .form-box table{
	border-bottom: 1px solid #bebebe;
	width: 100% !important;
}

.page-guest .form-box td{
	font-size: clamp(.85rem,2.26vw,1.7rem);
	border-top: 1px solid #bebebe;
	padding: 1em 2em;
}

.mes.payment_mes{
	padding: 0;
    margin: 2% auto 0;
    width: 90%;
}
.mes.payment_mes > ul{
	background: none;
	border: none;
    padding: 0;
    margin: 0;
    font-size: clamp(1.2rem, 2.66vw, 2rem);
}

.mes.payment_mes > ul li{
    line-height: 1.7;
    font-size: clamp(.85rem,2.26vw,1.7rem);
    padding: 0;
}
.mes.payment_mes > ul li::before{
    display: none;
}
.mes > ul li{
    font-size: clamp(1.2rem, 2.66vw, 2rem);
	padding: 0 0 0 1.5em;
}
.mes > ul li::before{
	width: 1em;
}
.page-guest .form-box label{
    font-size: clamp(1.3rem, 3.46vw, 2.6rem);
}

.page-guest .form-box dl.required {
    border-radius: .3em;
    padding: .5em 1em;
    box-sizing: border-box;
}

.page-guest .form-box dl.required .btn_list label{
	border: none;
	width: 100%;
}

/* ----------------------------------------------------------------------
09.bank
---------------------------------------------------------------------- */

.page-membershipfee .inner {
    padding-top: 0 !important;
	background: none !important;
}
.app_09.page-membershipfee .content_box{
	padding: 0 !important;
	width: 90%;
    margin-bottom: 2.5%;
}

.app_09.page-membershipfee .content_box .msg{
	padding: 0;
	font-size: clamp(1rem, 2.66vw, 2rem);
    line-height: 1.5;
}

.app_09 .form-box .btn_float_form {
    margin-top: 5.5%;
    padding: 0 2%;
}

.app_09 .form-box .btn_float_form p{
	font-size: clamp(1rem, 2.66vw, 2rem);
    line-height: 1.5;
    margin-bottom: 1.6em;
}

.app_09 .form-box .label{
	font-weight: 400;
    font-size: clamp(1.2rem, 3.2vw, 2.4rem);
}

.app_09 .form-box .small-txt{
    display: block;
    font-size: clamp(.85rem, 2.26vw, 1.7rem);
}

#edit-party article form{
	background: none;
}

#edit-party article .form-box {
	background: none;
}
#edit-party.design-form article textarea{
    border:none;
}

.page-membershipfee .msg p{
    font-size: clamp(1.2rem, 2.66vw, 2rem);
	line-height: 1.7;
	margin-bottom: 1em;
}
#modal_adv_pay .form-box form dt,
#modal_adv_pay .form-box form dt + dd{
	width: 100%;
}
#modal_adv_pay .warning_lbl{
    font-size: clamp(1.2rem, 2.66vw, 2rem);
}
#modal_adv_pay .warning_lbl .req{
	font-size: 1em;
}

/* ----------------------------------------------------------------------
10.user edit
---------------------------------------------------------------------- */

#roster #contents form{
	padding: 5%;
}
form[name="delete_user_form"] input[type='submit'] {
    display: block;
    border: none;
    color: #ff5858;
    text-align: left;
    border-radius: 0;
    background: #fff url(./img/icons/icn_delete@2x.png) no-repeat 1.9em 45%;
    background-size: 1.2em auto;
    margin: 6% auto 7em;
    font-size: clamp(1.1rem,2.93vw,2.2rem);
    font-weight: normal;
    padding: 1.4em 1.4em 1.4em 4em;
}
form[name="delete_user_form"] input[type='submit']:hover{
	background-color: #fff;
	color: #3291e4;
	background-repeat: no-repeat;
}

.form-box h2.ttl{
	background: #f3f9ff;
	width: 90%;
	padding: 1em;
	box-sizing: border-box;
    font-size: clamp(1.2rem, 2.66vw, 2rem);
	border:none;
	margin: 0 auto;
}

/* ----------------------------------------------------------------------
11.account edit
---------------------------------------------------------------------- */

#account .form-box.block form dt + dd{
	margin-bottom: 1em !important;
}
#account.app_11 .form-box.block form dt + dd{
	margin-bottom: 3.3em !important;
}
#account.app_11 .form-box.block form dt + dd:last-child{
	margin-bottom: 0 !important;
}
#account .edit_user input[type='submit']{
	max-width: 100%;
}
#account.app_11 .form-box{
	background: none;
	padding: 0;
	margin-bottom: 5em;
}
#account.app_11 .form-box dl{
	background: #fff;
    padding: 2.5em 6%;
    margin: 1.5% auto;
}
#account.app_11 .form-box .ttl{
    width: 92%;
    margin: 3% auto 0;
	font-weight: 600;
	font-size: clamp(1.2rem,3.2vw,2.4rem);

}
#account.app_11 .form-box dl + .ttl{
	margin-top: 9%;
}
#account.app_11 .form-box .txt {
    width: 88%;
    margin: 2% auto 10%;
    font-weight: normal;
    letter-spacing: 0;
    font-size: clamp(1rem,2.66vw,2rem);
}
#account.app_11 .file_upload {
    width: 30%;
    max-width: 148px;
    height: auto;
    aspect-ratio: 1/1;
    border-radius: 100%;
    margin: 0 auto;
}
#account.app_11 .file_upload label{
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	border-radius: 100%;
	background: url(./img/icons/icn_avatar_02@2x.png) no-repeat 50% 50%;
	background-size: contain;
}
#account.app_11 .file_upload label::after {
    content: "";
    width: 1.9em;
    height: 1.9em;
    aspect-ratio: 1/1;
    border-radius: 100%;
    position: absolute;
    right: -.4em;
    bottom: .6em;
    background: url(./img/icons/icn_edit@2x.png) no-repeat 50% 50%;
    background-size: contain;
}
#account.app_11 .file_upload input{
	opacity: 0;
	width: 100%;
	height: 100%;
}

/* ----------------------------------------------------------------------
12.contact 〜 14.
---------------------------------------------------------------------- */

#contact #wrapper{
	background: #f5f5f5;
}
#contact #header{
	background: #f5f5f5;
}
#contact #contents section{
	background: none;
	padding: 0;
	margin:0;
	border-radius: unset;
}
#contact .form-box .box-wrap{
    margin: 0 auto 5em;
}
#contact .form-box dl{
    padding: 2.5em 6.5% 1px;
    box-sizing: border-box;
    width: 95%;
    margin: 0 auto 3%;
	background: #fff;
	border-radius: 1em;
}

/* お問い合わせ画面の注意書きboxは.box-wrapの外に置かれており、
   .box-wrap配下の指定が効かず全幅で画面端に張り付いていた refs #88931 */
#contact .form-box .box-wrap .box,
#contact .form-box form > .box{
    box-sizing: border-box;
    width: 90%;
    margin: 0 auto 5%;
}

#contact .form-box .box-wrap .box p {
    margin-bottom: 1.6em;
    font-size: clamp(1rem, 2.66vw, 2rem);
    line-height: 1.5;
}

#contact #contents .malfunction_link::before {
    content: ">";
    position: absolute;
    left: calc(100% + .5em);
    line-height: 1em;
    height: 1em;
    top: calc(50% - .5em);
}

#contact .form-box.block form dd{
	margin-bottom: 3.2em !important;
}

#contact.app_14 .form-box.block form dd {
    margin-bottom: 2.8em !important;
}

#contact .form-box.block form dd .sample_text{
	font-size: clamp(.85rem,2.26vw,1.7rem);
}

/* confirm */

#contact .form-box .confirm .ttl{
	text-align: center;
	font-size: clamp(1.25rem,3.43vw,2.579rem);
	font-weight: 600;
}
#contact .form-box .confirm .mail-box{
	padding: 6%;
}

#contact .form-box .confirm dd {
    text-align: right;
}

#contact .form-box .confirm .mail-box dl{
	padding: 0;
	width: 100%;
    display: flex;
    flex-direction: row;
	border-bottom: 1px solid #b0b0b0;
	border-radius: unset;
    flex-wrap: nowrap;
	margin-bottom: 6%;
}
#contact .form-box .confirm .mail-box dl dt,
#contact .form-box .confirm .mail-box dl dd span{
    font-size: clamp(1.15rem, 3.06vw,2.3rem);
	padding: 0;
}

#contact .form-box .confirm .mail-box dd{
	margin-bottom: 0 !important;
}

#contact .form-box .confirm .mail-box dd span{
	border: none;
}

#contact .form-box .confirm .mail-box dl.pv_naiyo{
	flex-wrap: wrap;
	flex-direction: column;
	border-bottom: none;
	margin-bottom: 16.5%;
}

#contact .form-box .confirm .mail-box dl.pv_naiyo p{
	text-align: left;
    padding: .5em .3em;
    line-height: 1.5;
}

#contact .form-box .confirm .mail-box dl.pv_naiyo dt{
	border-bottom: 1px solid #b0b0b0 !important;
}

#contact .form-box .confirm .mail-box dl.pv_naiyo dd{
    font-size: clamp(1rem, 2.66vw, 2rem);
}

#contact .confirm .mail-box .btn-02 a,
#contact .confirm .mail-box input[type='submit']{
    font-size: clamp(1.05rem,2.80vw,2.1rem);
    margin: .75em auto 0;
    padding: 1.3em;
}
/*送信完了*/

#contact .complete-box {
	width: 90%;
	margin: 0 auto;
}
#contact .complete-box figure{
    width: 41.5%;
    margin: 20% auto 6%;
}
#contact .complete-box p{
	text-align: center;
	font-size: clamp(1.25rem,3.43vw,2.579rem);
	margin-bottom: 5em;
}

.app_14 .btm_form_box {
    width: 89%;
    margin: 5.5% auto 7em;
}

.app_14 .btm_form_box ul {
	margin-bottom: 3%;
}

.app_14 .btm_form_box ul li{
	text-indent: -1em;
	padding-left: 1em;
	font-size: clamp(1rem, 2.66vw, 2rem);
	line-height: 1.5;
}

.link-txt a{
	font-size: clamp(1rem, 2.66vw, 2rem);
	color:#3291e4;
	position: relative;
}
.link-txt a:before{
	content: "";
    position: absolute;
    height: 1px;
    width: 100%;
    background: #3291e4;
    bottom: -2px;
    left: 0;
}
.link-txt a:after{
    content: "";
    background: url(svg/icons/arw2.svg) no-repeat 50% 50%;
    background-size: contain;
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: middle;
    margin: -.25em 0 0 .3em;
    width: .3335em;
    height: .5835em;
}

/* ----------------------------------------------------------------------
15.thanks
---------------------------------------------------------------------- */

.app_15 .form-box{
	background: none;
}

.app_15 .form-box .form-inner_box{
    border-radius: 1em;
	padding-bottom: 1px;
}

.app_15 .flex-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
	position: relative;
}

.app_15 .confirm .flex-btn input[type='submit'] {
    color: #3291e4;
    background: none;
    border: none;
    font-size: clamp(1.05rem,2.80vw,2.1rem);
	margin: 0;
}

.app_15 .flex-btn:after {
    content: "";
    background: url(svg/icons/arw2.svg) no-repeat 50% 50%;
    background-size: contain;
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: middle;
    width: .3335em;
    position: absolute;
    right: 0;
    top: calc(50% - .5em);
}


.app_15 .confirm .flex-btn .input-box input {
    font-size: clamp(1.1rem,2.93vw,2.2rem);
    padding: .5em;
    text-align: center;
    border-radius: .5em;
}

/* ----------------------------------------------------------------------
16.wedding invitation + 20.wedding pay
---------------------------------------------------------------------- */

#advance_payment #header{
	background: #f7f7f7;
	position: relative;
    padding: 6.5% 0 4.5%;
	height: unset;
}
#advance_payment #header img {
    /* max-width: 188px; */
    width: 37%;
    position: relative;
    left: -.5%;
}
#advance_payment{
	background: #f7f7f7;
	max-width: 750px;
}

#advance_payment .tm-Section{
	padding: 0;
}
#advance_payment .tm-Intro_ImageWrapper{
	width: 75.5%;
	margin: 0 auto;
}
.content_box {
    width: 100%;
    margin: 0 auto;
    padding: 5%;
    box-sizing: border-box;
}

#advance_payment .watashi_houhou {
    width: 95%;
    background: #fff;
    padding: 7% 5% 3%;
    margin: 11% auto 5%;
    box-sizing: border-box;
    border-radius: 1rem;
	position: relative;
}

#advance_payment .watashi_houhou h2{
	background: none;
	text-align: center;
	position: absolute;
	left: 0;
	top: -1em;
	width: 100%;
	font-size: clamp(1.315rem,3.508vw,2.631rem);
	padding: 0;
    line-height: 1.1;
}

#advance_payment .watashi_houhou h2 span{
    display: inline-block;
    background: #0b4799;
    color: #fff;
    padding: .85em 1.5em;
    border-radius: 2em;
}
#advance_payment .c_guest_form h2,
#advance_payment .watashi_houhou.iwaikin h2{
    text-align: left;
    padding: 0 5%;
    font-weight: 600;
    font-size: clamp(1.2rem, 3.2vw, 2.4rem);
    background: none;
    color: #272727;
    font-weight: 600;
    line-height: 1.5;
    margin: 0 auto .5em;
    width: 93%;
    box-sizing: border-box;
    padding: 0;
}

#advance_payment .c_guest_form h2 .txt,
#advance_payment .iwaikin h2 .txt{
    display: inline-block !important;
    font-size: clamp(1.15rem, 3.06vw, 2.3rem);
    letter-spacing: 0;
    margin-top: .5em;
    font-weight: 400;
}

#advance_payment .watashi_houhou.iwaikin h2{
	top: -1.8em;
	left: 1.5%;
}

#advance_payment .watashi_houhou.iwaikin h2 i{
	font-style: normal;
	font-weight: 400;
	margin-left: 1em;
	font-size: clamp(1rem, 2.66vw, 2rem);
}
#advance_payment .watashi_houhou.c_guest_form h2{
	text-align: left;
    line-height: 1.1;
	width: 100%;
	margin: 0 auto;
    top: -2em;
    padding-left: .5em;
}

#advance_payment .watashi_houhou h2 .ttl-wrap{
    display: block;
	background: none;
	text-align: center;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	font-size: clamp(1.315rem,3.508vw,2.631rem);
	padding: 0;
    line-height: 1.1;
}


#advance_payment .watashi_houhou.c_guest_form h2 .ttl-wrap i{
    min-width: 10em;
    font-style: normal;
    display: inline-block;
    background: #0b4799;
    color: #fff;
    padding: .85em 1.5em;
    border-radius: 2em;
}

#advance_payment .watashi_houhou .content_box{
	padding: 0;
    align-items: flex-end;
	justify-content: flex-end;
}
#advance_payment .iwaikin span:nth-of-type(1) {
	display: none;
}
#advance_payment .iwaikin span:nth-of-type(2) {
    font-size: clamp(1.3rem, 3.46vw, 2.6rem);
	margin-bottom: .5em;
}

#advance_payment .iwaikin select {
    padding: .5em .3em .1em 0;
    margin-left: .4em;
    width: 15%;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: no-repeat;
    text-align: center;
    text-align-last: center;
}

#advance_payment .options label.radio {
    aspect-ratio: 308/285;
    width: 49%;
    padding: 3% 2%;
    border: none;
    border-radius: 5px;
    color: #272727;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    height: 100%;
}

#advance_payment .options label.radio .icn_pay{
	display: block;
	width: 50%;
	height: 6em;
	margin: 0 auto;
	background: url(./img/icons/icn_pay@2x.png) no-repeat 50% 50%;
	background-size: contain;
}
#advance_payment .options label.radio .icn_day{
	display: block;
    width: 58%;
    height: 5.3em;
	margin: 7% auto 5%;
	background: url(./img/icons/icn_day@2x.png) no-repeat 50% 50%;
	background-size: contain;
}
#advance_payment .options label.radio .text{
	text-align: center;
	color: #272727;
    line-height: 1.2;
    min-height: 3em;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
#advance_payment .options label.radio:nth-of-type(1) .text{
    line-height: 1.2;
    margin-top: .3em;
}

#advance_payment .options label.radio:nth-of-type(2) .text {
    min-height: 2.4em;
    line-height: inherit;
    margin-top: .5em;
    margin-bottom: -.5em;
}

#advance_payment .options label.radio:nth-of-type(1) .text .icn{
    display: inline-block;
    color: #fff;
    background: #fec923;
    border-radius: 2em;
    font-size: clamp(.8rem, 2.13vw, 1.6rem);
    line-height: 2;
    padding: 0 .7em;
    margin: .2em auto .5em;
}
#advance_payment .options label.radio .checkmark:after{
	content: "";
}
#advance_payment .options label.radio .checkmark,
#advance_payment .options label.radio .checkmark:after {
    display: block;
    border: 1px solid #ccc !important;
    position: absolute;
    top: 0;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    transform: unset;
    max-width: unset;
    max-height: unset;
    background: none;
    border-radius: .5em;
    padding: 0;
    margin: 0;
    right: 0;
    bottom: 0;
}
#advance_payment .options label.radio:nth-of-type(1) .checkmark:after,
#advance_payment .options label.radio:nth-of-type(2) .checkmark:after{
	background: none;
}
#advance_payment .options label.radio input:checked ~ .checkmark{
}
#advance_payment .options label.radio input:checked ~ .checkmark:after {
    border: 2px solid #3291e4 !important;
}
#advance_payment .setsumei{
	font-family: inherit;
}

#advance_payment .setsumei .content_box {
    border: none;
	margin:0 auto;
}

#advance_payment .setsumei p.desc {
    font-size: clamp(1.2rem,3.2vw,2.4rem);
    line-height: 1.87;
    letter-spacing: 0;
}

#advance_payment .date_answer_box {
    width: 95%;
    padding: 4% 9% 0%;
    margin: 3% auto;
    box-sizing: border-box;
    border-radius: 1rem;
}

#advance_payment .date_answer_box .top_box{
    margin-bottom: 3%;
    padding-bottom: 2%;
}

#advance_payment .date_answer_box .top_box p{
	text-align: center;
	font-size: clamp(1.15rem,3.06vw,2.3rem);
	font-weight: 600;
	line-height: 1.5;
    color: #3291e4;
}

#advance_payment .date_answer_box .top_box p.date{
	font-size: clamp(2.314rem,6.172vw,4.629rem);
    line-height: 1.9;
    letter-spacing: 0;
    color: #ef7e8f;
}

#advance_payment .date_answer_box .btm_box li{
	text-indent: -1em;
	padding-left: 1em;
    font-size: clamp(1rem, 2.66vw, 2rem);
	line-height: 1.3;
}

#advance_payment .date_answer_box .btm_box p{
    font-size: clamp(1rem, 2.66vw, 2rem);
}

#advance_payment .date_answer_box .btm_box p .bold{
	font-weight: 600;
}

#advance_payment .date_answer_box .btm_inner_box p{
	line-height: 1.3;
}

#advance_payment .date_answer_box .btm_inner_box{
	margin-top: 5%;
}

#advance_payment .date_answer_box .btm_inner_box ul{
	margin-bottom: 5%;
}

#advance_payment #form_data a.btn_ms {
    max-width: 92%;
    border-radius: .3em;
    margin-top: 4%;
    background: #0b4799;
    border-color: #0b4799;
}
#advance_payment .options label.radio .text {
    font-size: clamp(1.15rem, 3.06vw, 2.3rem);
    font-weight: 400;
}
#advance_payment .form-Main_Group-name .form-Main_Value{
	display: flex;
}
#advance_payment .form-Main_Group-name .form-Main_Value label{
	display: block;
}
#advance_payment .form-Main_Group-name .form-Main_ValueLine{
	width:50%;
}
#advance_payment .form-Main_Group {
    position: relative;
    padding: 0;
    border-bottom: none;
    text-align: left;
    margin-bottom: 6%;
}
#advance_payment .kaihi {
    margin-top: 5%;
}
/* お渡し方法セクションが無い(WEBのみ)場合、会費一覧を単独の白カードとして表示する
   ※内側の .content_box が padding:5% を持つため、ここでは余白を重ねない */
#advance_payment .kaihi.kaihi_card {
    width: 95%;
    margin: 5% auto;
    background: #fff;
    border-radius: 1rem;
    box-sizing: border-box;
}
#advance_payment .kaihi .kaihi_list{
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid #bebebe;
    font-size: clamp(1rem, 2.66vw, 2rem);
	padding: 1.1em 0;

}
#advance_payment .kaihi .kaihi_list dt{
	width: 30%;
}
#advance_payment .kaihi .kaihi_list dd {
	display: flex;
	justify-content: flex-end;
	align-items: center;
    margin: 0;
	width: 70%;
}
#advance_payment .kaihi .kaihi_list dt,
#advance_payment .kaihi .kaihi_list dd p {
    font-size: clamp(1rem, 2.66vw, 2rem);
	line-height: 1.3;
}
#advance_payment .kaihi .kaihi_list dd p {
	margin-left: 1em;
}
#advance_payment #l_family_member_form{
	display: flex;
	justify-content:space-between;
	align-items: center;
    margin: 0;
	width: 100%;

}
#advance_payment #l_family_member_form select{
	width: 4.2em;
	font-size: 1.6rem;
    padding: 0 .8em 0 .5em;
    background: #fff url(svg/arrow_gray_down.svg) no-repeat 88% 51%;
    background-size: .4em auto;
}
#l_family_member_form select{
    background: #fff url(svg/arrow_gray_down.svg) no-repeat 90% 50%;
    background-size: .4em auto;

}
#l_family_member_form input[type=text]{
	width:calc(95% - 4.2em);
}

#advance_payment .form-guest_sex{

    -js-display: flex;
    display: -ms-flex;
    display: -webkit-flex;
    display: flex;
    width: 100%;
    margin: 5px 0;
}

#advance_payment .form-guest_sex label{
    margin: 0 2.5% 1em 0;
    box-sizing: border-box;
    width: 30%;
    border: none;
    font-size: clamp(1.3rem, 3.46vw, 2.6rem);
	font-weight: 600;
	position: relative;
    box-sizing: border-box;
    padding: 1.2em 1em 1em 2.6em;
}
#advance_payment .form-guest_sex label input[type='radio'] {
    position: absolute;
    top: 40%;
    left: 15px;
    transform: translateY(-50%);
	opacity: 0;
}
#advance_payment .form-guest_sex label .checkmark:before{
	content: "";
    background: #3291e4;
	left: 50%;
    top: 50%;
    width: 60%;
    height: 60%;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
	display: none;
}
#advance_payment .form-guest_sex label input:checked ~ .checkmark:before {
    display: block;
}
#advance_payment .form-guest_sex label .checkmark {
    position: absolute;
    top: calc(50% + .2em);
    left: .7em;
    transform: translateY(-50%);
    height: 4vw;
    width: 4vw;
    max-width: 30px;
    max-height: 30px;
    background-color: #fff;
    border: 1px solid #bebebe;
    border-radius: 100px;
}
#advance_payment .form-guest_sex label input ~ .label_box{
    position: absolute;
    top: 0;
    left: 0;
    border: 1px solid #bebebe;
	border-radius: .5em;
    width: 100%;
    height: 100%;
}

#advance_payment .form-guest_sex label input:checked ~ .label_box {
	border-color: #3291e4;
	border-width: 2px;
}
#advance_payment #form_data.iwaikin{
    width: 95%;
    background: #fff;
    padding: 4.5% 3% 3%;
    margin: 14% auto 5%;
    box-sizing: border-box;
    border-radius: 1rem;
    position: relative;
}
#advance_payment #form_data.otsure {
    width: 90%;
    padding: 0;
    margin: -1% auto 11%;
    box-sizing: border-box;
    position: relative;
    text-align: left;
}

#advance_payment #form_data.otsure label{
	font-size: clamp(1.15rem, 3.06vw,2.3rem);
    font-weight: 600;
}

#advance_payment #form_data.otsure input{
    vertical-align: middle;
}

#advance_payment #form_data.otsure p{
    font-size: clamp(1rem, 2.66vw, 2rem);
    line-height: 1.3;
    margin-top: 1em;
}
#advance_payment #form_data.iwaikin h2 {
    text-align: left;
    line-height: 1.1;
    width: 100%;
    margin: 0 auto;
    top: -2em;
    padding-left: .5em;
    position: absolute;
    box-sizing: border-box;
    padding: 0;
    left: 1.5%;
    background: none;
    color: #272727;
    font-size: clamp(1.2rem, 3.2vw, 2.4rem);
}
#advance_payment .c_guest_form.c_after_decision {
    margin-top: 12%;
}
/* 見出し「ゲスト様入力項目」と入力フォームの間が空きすぎるため、
   案内状デザイン側の余白(.tm-Section の上部90px、空要素 .tm-Heading2 の下部23px)を
   この画面だけ詰める */
#advance_payment .c_guest_form #poa.tm-Section {
    padding-top: 0;
}
#advance_payment .c_guest_form #poa > .tm-Heading2 {
    margin-bottom: 0;
}

#advance_payment .form-Main_Group-required .form-Main_Key{
	font-weight: 400;
	font-size: clamp(1.15rem, 3.06vw,2.3rem);
}
#advance_payment .form-Main_Group-required .form-Main_Key:after {
    content: "\002A";
    background: none;
    color: #f00;
    font-size: 1em;
    margin: 0 0 0 .5em !important;
    padding: 0 !important;
}
#advance_payment .c_hide_toujitsu .tm-POA_Form {
    padding: 4% 5%;
}
#advance_payment .iwaikin .c_hide_toujitsu .tm-POA_Form{
    padding: 0;
}
#advance_payment .c_hide_toujitsu .form-Main_Key {
    font-weight: 400;
    font-size: clamp(1.15rem, 3.06vw, 2.3rem);
}

#advance_payment .form-Main_Group.c_hide_toujitsu {
    margin-top: 7%;
    margin-bottom: 0;
}
#advance_payment .iwaikin .form-Main_Group.c_hide_toujitsu{
    margin-top: 0;
}
#advance_payment .iwaikin .content_box {
    display: flex;
    display: -ms-flexbox;
    -js-display: flex;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-end;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    width: 100%;
    padding: 2% 0 !important;
}
#advance_payment .form-Main_ValueNote {
    display: block;
    color: inherit !important;
    font-size: clamp(1rem, 2.66vw, 2rem);
    line-height: 1.4;
    width: 90%;
    margin: 2% auto 0;
}

#advance_payment #l_add_family_member_button {
    background: none;
    border: none;
    outline: unset;
    width: auto;
    text-align: center;
    padding: 1em 1em 0;
	color: #3291e4;
	font-size: clamp(1.05rem,2.80vw,2.1rem);
	display: inline-block;
}
#advance_payment .l_add_family_member_button_box{
	text-align: center;
	font-size: clamp(1.05rem,2.80vw,2.1rem);
}
#advance_payment .l_add_family_member_button_box:before {
    content: "";
    width: 1em;
    height: 1em;
    display: inline-block;
    margin-left: .5em;
    margin-right: -.5em;
    vertical-align: middle;
	background: url(./img/icons/icn_mark_plus@2x.png) no-repeat 50% 50%;
	background-size: contain;
}
#advance_payment .form-Main_ValueError,
#advance_payment .fa-exclamation-triangle {
	color:#cf000e;
	font-size: clamp(.85rem,2.26vw,1.7rem);
}
#advance_payment .fa-exclamation-triangle:before {
    content: "";
    background: url(./img/icons/icn_mark_delete_02@2x.png) no-repeat 50% 50%;
    background-size: contain;
    width: 1.2em;
    height: 1.2em;
    display: inline-block;
}

/* toujitu */
#advance_payment .c_toujitsu_message{
	font-size: clamp(1.36rem, 3.62vw,2.72rem);
    color: #3291e4;
    font-weight: 600;
	font-family: inherit;
    line-height: 1.5;
}

#advance_payment .c_toujitsu_message .icn_day{
	display: block;
    width: 58%;
    height: 5.3em;
	margin: 2% auto 8%;
	background: url(./img/icons/icn_day@2x.png) no-repeat 50% 50%;
	background-size: contain;
}

/* ----------------------------------------------------------------------
17.confirm
---------------------------------------------------------------------- */


/* ----------------------------------------------------------------------
18.complete
---------------------------------------------------------------------- */

.app_18 #payment_method_selection_1 div#contents{

    background: #3291e4;
}
.app_18 #contents_all .message-wrap{
	padding: 4% 2.5%;
}
.payment_method_selection .main_img {
    width: 83%;
    margin: 7% auto;
	border-radius: .9em;
    overflow: hidden;
	background:	#fff;
	padding: 5% 0 2.5%;
}
.payment_method_selection .main_img img{
	width: 90%;
	display: block;
	margin: 0 auto;
}
#payment_method_selection_1 .btn_area .btn_ms {
	max-width: 100%;
}
#payment_method_selection_1 .page_ttl div{
    font-size: clamp(1.15rem, 3.06vw,2.3rem);
}
#payment_method_selection_2 .mes{
    font-size: clamp(1.15rem, 3.06vw,2.3rem);
}
.app_18 .account-thumbnail{
	border: none;
    width: 14vw;
    margin: 3.5% auto 2%;
}
.app_18 .ttl-thumb{
	color:#fff;
	font-weight: 600;
	font-size: clamp(1.15rem, 3.06vw,2.3rem);
	letter-spacing: .15em;
}
.app_18 .txt-date{
	color:#fff;
	font-weight: 600;
	font-size: clamp(.9rem,2.4vw,1.8rem);
    line-height: 1.4;
    letter-spacing: .11em;
}
.app_18 .img_message-box{
	border-radius: .9em;
	background: #267bcd;
	color: #fff;
	padding: 7.5% 7.5% 6%;
	width: 100%;
    margin-bottom: 4%;
}
.app_18 .img_message-box .ttl-message{
	font-size: clamp(1.83rem, 4.88vw, 3.66rem);
	border-bottom: 1px dashed #fff;
    line-height: 1.5;
    padding-bottom: .7em;
    margin-bottom: .4em;
}
.app_18 .img_message-box .txt-message{
	font-size: clamp(1rem, 2.66vw, 2rem);
	text-align: left;
	padding-left: 1em;
}
.app_18 .img_message-box ~ .txt{
	color: #fff;
	font-size: clamp(1rem, 2.66vw, 2rem);
	text-align: left;
    width: 94%;
    margin: 0 auto 7%;
    line-height: 1.5;
}
.app_18 .txt:has(+ .txt){
    margin-bottom: 2%;
}

.app_18 .btn-01 a{
	background: #044eb4;
	color: #fff;
	border-color: #fff;
}

/* ----------------------------------------------------------------------
19.thanks
---------------------------------------------------------------------- */

.app_19 header{
	display: none;
}
.app_19 #wrapper{
    margin: 0 auto;
}
.app_19 #payment_method_selection_2{
	border:none;
	padding: 15% 0 0;
}
.app_19 #payment_method_selection_2 .thanks_img{
	width: 75%;
	padding: 0;
	margin: 0 auto 5%;
	border: none;
}

.app_19 #payment_method_selection_2 .ttl-message span{
	display: inline-block;
	padding: 0 .5em;
	font-size: clamp(1.83rem, 4.88vw, 3.66rem);
	background: #3291e4;
	color: #fff;
	font-weight: 600;
}

.app_19 #payment_method_selection_2 .txt-message {
	text-align: center;
	font-weight: 600;
	font-size: clamp(1.468rem,3.916vw,2.937rem);
    margin: 5% auto 19%;
}

.app_19 #payment_method_selection_2 .btn-03 a{
	font-size: clamp(1.1rem,2.93vw,2.2rem);
    display: inline-block;
    width: auto;
    padding: 1.6em 4.5em;
    text-decoration: none;
    max-width: 50%;
}
#thanks .success{
	width: 90%;
}

#thanks #contents .form-box form{
	padding: 1em 3%;
}

#thanks #contents .form-box .form-inner_box {
    padding: 2.5em 6.5%;
}

#thanks #contents .form-box .txt{
	width: 95%;
    margin: 4% auto;
    font-size: 1rem;
}

#thanks #contents .form-box textarea{
    background: #f5f5f5;
    border: none;
    border-radius: .5em;
    padding: 1em .6em;
}

#thanks .confirm .mail-box dd span {
	border: none;
	font-size: clamp(1rem, 2.66vw, 2rem);
}

#thanks .confirm .mail-box dt {
    border-bottom: 1px solid #b0b0b0 !important;
}

#payment_method_selection_2 .frame {
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
}
.tm-POA_Form {
    background: #fff;
    color: #272727;
    width: 95%;
    margin: 0 auto;
    box-sizing: border-box;
    border-radius: .5em;
    padding: 7.5% 5% 1px;
}
/* ----------------------------------------------------------------------
20.thanks
---------------------------------------------------------------------- */


#advance_payment .c_advance_payment_description {
    font-size: clamp(1.2rem, 2.66vw, 2rem);
    line-height: 1.7;
    padding: 0 1em 1em;
    background: #fff6de;
    margin: 1.5em .7em 1em auto;
    text-align: center;
}

/* ----------------------------------------------------------------------
21.
---------------------------------------------------------------------- */

.app_21 .form-box .confirm .mail-box dl{
	padding: 0;
	width: 100%;
    display: flex;
    flex-direction: row;
	border-bottom: 1px solid #b0b0b0;
	border-radius: unset;
    flex-wrap: nowrap;
	margin-top: 6%;
}
#account.app_21 .form-box.block form dt + dd:last-child{
	margin-bottom: 0 !important;
}
.app_21 .form-box .confirm .mail-box dl dt,
.app_21 .form-box .confirm .mail-box dl dd span{
    font-size: clamp(1.15rem, 3.06vw,2.3rem);
	padding: 0;
}

.app_21 .form-box .confirm .mail-box dd{
	margin-bottom: 0 !important;
}

.app_21 .form-box .confirm .mail-box dd span{
	border: none;
}

.app_21 .form-box .confirm .mail-box dl.pv_naiyo{
	flex-wrap: wrap;
	flex-direction: column;
	border-bottom: none;
	margin-bottom: 16.5%;
}

.app_21 .form-box .confirm .mail-box dl.pv_naiyo p{
	text-align: left;
    padding: .5em .3em;
    line-height: 1.5;
}

.app_21 .form-box .confirm .mail-box dl.pv_naiyo dt{
	border-bottom: 1px solid #b0b0b0 !important;
}

.app_21 .form-box .confirm .mail-box dl.pv_naiyo dd{
    font-size: clamp(1rem, 2.66vw, 2rem);
}

.app_21 .form-box .confirm .mail-box .message-box{
    margin-bottom: 42%;
}
.app_21 .form-box .confirm .mail-box .message-box ul li{
	text-indent: -1em;
	padding-left: 1em;
    font-size: clamp(1rem, 2.66vw, 2rem);
	line-height: 1.4;
}
.app_21 .form-box .confirm .mail-box .message-box ul li .txt_email{
	display: block;
	margin-top: 1.7em;
	padding-left: 1em;
}

/* ----------------------------------------------------------------------
22,23 account
---------------------------------------------------------------------- */

#login.auth_flow #header,
#account.auth_flow #header{
	background: #fff;
	position: relative !important;
    padding: 11.5% 0 4.5%;
	height: unset;
}

#login.auth_flow #header img,
#account.auth_flow #header img {
    /* max-width: 188px; */
    width: 54%;
}

#login.auth_flow #contents,
#account.auth_flow #contents {
    padding: 6.5% 6%;
}

.auth_box{
    margin-bottom: 8.5%;
}

.auth_box figure {
    width: 42%;
    margin: 10% auto 7%;
}

.auth_box .ttl_txt {
	font-weight: 600;
	text-align: center;
	font-size: clamp(1.468rem,3.916vw,2.937rem);
    margin-bottom: .8em;
}

.auth_box .txt-box p {
    font-size: clamp(1.1rem,2.93vw,2.2rem);
    line-height: 1.4;
}

/* ----------------------------------------------------------------------
26. リマインドメール
---------------------------------------------------------------------- */

.app_26 .form-box{
	background: none;
}

.app_26 .form-box dl {
    background: #fff;
    width: 95%;
    margin: 3% auto 0;
    padding: 7% 6.5% 1px;
    box-sizing: border-box;
    border-radius: .5em;
}

.app_26 .notice {
    color: inherit;
    background: none;
    padding: 0 0 0 1em;
    text-indent: -1em;
    margin: 2.5% auto 9.5em;
    position: relative;
    width: 87%;
    font-size: clamp(1rem, 2.66vw, 2rem);
    line-height: 1.65;
}

.app_26 .notice:before {
	display: none;
}

#thanks.app_26 #contents .form-box form {
    padding: 0;
}

#thanks.app_26 .confirm .txt-red {
    font-size: clamp(1rem, 2.66vw, 2rem);
    color: #e61b1b;
    width: 92%;
    margin: 4% auto 0;
    letter-spacing: 0;
}
.app_26 .confirm .mail-box dl {
    background: #fff;
    width: 95%;
    margin: 8.5% auto 0;
    padding: 0;
    box-sizing: border-box;
    border-radius: .5em;
}

.app_26 .confirm .mail-box dd {
    margin-bottom: 2em !important;
}


/* preview */
.app_26.preview .form-box dl {
    background: none;
    width: 100%;
    margin: 0 auto 5%;
    padding: 1% 6.5% 1px;
    box-sizing: border-box;
    border-radius: .5em;
}

.app_26.preview .form-box dl dt {
    border-bottom: 1px solid #ccc !important;
    font-size: clamp(1.15rem, 3.06vw, 2.3rem);
    margin-bottom: .5em !important;
}

.app_26.preview .form-box dl dd{
    font-size: clamp(1rem, 2.66vw, 2rem);
    margin-bottom: 3.8em !important;
}

/* ----------------------------------------------------------------------
28. 集金状況確認
---------------------------------------------------------------------- */

#home.app_28 article section.member{
	padding: 0 3%;
}

.app_28 .member p{
    width: 95%;
    margin: 0 auto 5.5%;
    text-align: left;
    font-size: clamp(1rem, 2.66vw, 2rem);
    line-height: 1.5;

}
.adv_pay_check-btm,
.adv_pay_check-top{
    display: flex;
    flex-wrap: wrap;
	padding: 3.5% 6.5%;
}
.adv_pay_check-top{
	background: #fff;
	border-radius: 1.5em;
}
.adv_pay_check-btm{
	padding-top: 1%;
}
.adv_pay_check-top dt,
.adv_pay_check-btm dt,
.adv_pay_check-top dd,
.adv_pay_check-btm dd  {
	border-bottom: 1px solid #ccc;
	font-size: clamp(1.2rem,3.2vw,2.4rem);
	padding: 1.1em 0;
    letter-spacing: .1em;
}
.adv_pay_check-top dt:nth-child(3),
.adv_pay_check-top dd:nth-child(4) {
	border: none;
}

.adv_pay_check-top dt,
.adv_pay_check-btm dt {
    width: 65%;
    text-align: left;

}

.adv_pay_check-top dd,
.adv_pay_check-btm dd {
    width: 35%;
    text-align: right;
}

.adv_pay_check-btm dt,
.adv_pay_check-btm dd  {
	padding: 1.3em 0;
}

.app_28 .msg {
    width: 89%;
    margin: 0 auto;
}
.app_28 .msg p{
    text-align: left;
    font-size: clamp(1rem, 2.66vw, 2rem);
    line-height: 1.5;
    padding-left: 1em;
    text-indent: -1em;
	margin-bottom: 0;
}

.app_28 .btn-03 a{
	background: #fff;
	text-align: center;
}

/* モーダルタイトルは旧デザインの茶色からメインカラー(青)に合わせる */
#modal_adv_pay .modal_content_title {
	background: #3291e4;
}

/* ----------------------------------------------------------------------
30. 設定のヒント (02.編集画面内会費制選択)
---------------------------------------------------------------------- */

.app_30 #header{
	background: #f7f7f7;
	position: relative;
    padding: 6.5% 0 4.5%;
	height: unset;
}

.app_30 #header img {
    /* max-width: 188px; */
    width: 37%;
    position: relative;
    left: -.5%;
}

.app_30 #contents_all section{
	padding: 0;
}

.app_30,
.app_30 #contents_all{
	background: #f7f7f7;
}
.app_30 .dl-check{
    margin: 0 auto;
    width: 90%;
}

.app_30 .dl-check p{
    color: #cf000e;
    font-weight: 600;
	font-size: clamp(1rem, 2.66vw, 2rem);
	text-align: left;
}

.app_30 dl.dl-check .check{
	padding: 0;
	background: none;
}
.app_30 #payment_method_selection_1 div#contents{
	background: none;
}

.app_30 .cont_box_03 {
    padding: 1px 5%;
    background: #fff;
    border-radius: 1.5em;
    width: 93%;
    margin: 4% auto;
}

.app_30 .info_cont_flex{
	border: none;
}
.app_30 .info_cont_flex dl{
	display:flex;
	flex-direction: row;
	flex-wrap: nowrap;

    width: 100%;
    padding: 0;
    border: none;
    gap: unset;
    flex-direction: row;
    flex-flow: unset;
}

.app_30 .info_cont_flex dt,
.app_30 .info_cont_flex dd{
	padding: 1.3em 0;
	border-bottom: 1px solid #ccc;
	font-size: clamp(1.2rem,3.2vw,2.4rem);
	padding: 1.1em 0;
    letter-spacing: .1em;
	display: block;
    line-height: 1.5;
}

.app_30 .info_cont_flex dt{
    text-align: left;
}

.app_30 .info_cont_flex dd {
    text-align: right;
}

.app_30 .btn-wrap {
    width: 88%;
    margin: 17% auto 0;
}

.app_30 .btn-wrap .btn-01 a{
	background:#044eb4;
	border-color: #044eb4;
}

.app_30 .btn-wrap .btn-03 a{
	color:#044eb4;
	border-color: #044eb4;
	background-image: none;
}

/* ----------------------------------------------------------------------
31. 設定のヒント (02.編集画面内会費制選択)
---------------------------------------------------------------------- */

#edit-party.design-form .modaal-wrapper .modaal-close.btn-close {
    right: unset !important;
    top: unset !important;
    height: auto;
    background: #3291e4 !important;
    color: #fff;
    border-radius: .3em;
    display: block;
    width: 5.2em;
    margin-left: auto;
    margin-top: -.8em;
    margin-bottom: 1em;
    position: relative;
    left: .1em;
    box-sizing: border-box;
    padding: 1em 0;
}
#edit-party.design-form .modaal-wrapper .modaal-close.btn-close:before,
#edit-party.design-form .modaal-wrapper .modaal-close.btn-close:after {
	display: none;
}
.hint_wrap-box .inner {
    padding: 4% 6% 2% !important;
}
.hint_wrap-box p{
	font-size: clamp(1rem, 2.66vw, 2rem);
}
.hint_wrap-box .box p{
	font-size: clamp(1.1rem,2.93vw,2.2rem);
	margin-bottom: 1.7em;
}
.hint_wrap-box .about_ttl-box{
    margin-bottom: 1.5em;
}
.hint_wrap-box .about_ttl-box .icn_pay{
    margin: 1.2em auto .9em;
    height: 6em;
}
.hint_wrap-box .pay_price_list-wrap{
    border-radius: .5em;
    background: #f6f6f6;
    padding: 1em;
    margin: .5em auto 1.5em;
}
.hint_wrap-box .pay_price_list-wrap dl{
	display: flex;
    justify-content: space-between;
}
.hint_wrap-box .pay_price_list-wrap dl:not(:last-child){
    padding-bottom: .9em;
    margin-bottom: .6em;
    border-bottom: 1px solid #bebebe;
}
.hint_wrap-box .pay_price_list-wrap dd ul {
	display: flex;
	justify-content: flex-end;
}
.hint_wrap-box .pay_price_list-wrap dt,
.hint_wrap-box .pay_price_list-wrap dd ul li{
	font-size: clamp(1rem, 2.66vw, 2rem);
}

.hint_wrap-box .pay_price_list-wrap dd ul li{
    margin-left: 1.2em;
    letter-spacing: .1em;
}

.hint_wrap-box .attention_box p{
    margin-bottom: 1.7em;
    line-height: 1.7;
    letter-spacing: 0;
}
	
/* ----------------------------------------------------------------------
32. ご祝儀PAYとは？
---------------------------------------------------------------------- */

.page-credit #about_payment {
    min-width: 0px;
	background: #fff;

    /* max-width: 335px;
    border: 1px solid;
    margin: 78px auto;
	box-sizing: border-box; */
}

.page-credit #about_payment #contents{
	min-width: unset;
    padding: 6% 3.5% 3.5%;
}

.page-credit #about_payment header{
	background: none;
	position: relative;
	height: inherit;
    padding: 4% 0 0;

}

.about_ttl-box{
	color: #272727;
	text-align: center;
    font-size: clamp(1.25rem, 3.43vw, 2.579rem);
	display: block;
	font-weight:600;
    margin-bottom: 1.5em;
}

.about_ttl-box .icn_pay{
	display: block;
	width: 50%;
    margin: 1.2em auto .9em;
    height: 6em;
	background: url(./img/icons/icn_pay@2x.png) no-repeat 50% 50%;
	background-size: contain;
}

.about_flow-box{
	position: relative;
    border-radius: .5em;
    padding: 12% 3% 5% 5%;
    background: #f6f6f6;
    margin-bottom: 10%;
}

.about_flow-box .ttl{
	text-align: center;
	position: absolute;
	left: 0;
	top:-1em;
	width: 100%;
	font-size:clamp(1.7rem,4.533vw,3.4rem);
}

.about_flow-box .ttl span{
	display: inline-block;
	color: #fff;
	background: #000;
	font-size:clamp(1.7rem,4.533vw,3.4rem);
    width: 68%;
    padding: .1em 0;
	font-weight: 600;
    line-height: 1.5;
}

.about_flow-box .txt{
	text-align: left;
	font-size: clamp(1.1rem,2.93vw,2.2rem);
	line-height: 1.7;
}

.about_flow-box .about_txt-box{
    margin-top: -1em;
    border-top: 1px dashed rgba(0, 0, 0, .4);
    padding: 1.2em 1% 0;
}

.about_flow-box .about_txt-box p{
	text-align: left;
	font-size: clamp(1.1rem,2.93vw,2.2rem);
    line-height: 1.63;
    letter-spacing: 0;
    margin-bottom: 1em;
}

.about_flow-box .about_flow-list{
	display: flex;
	justify-content: space-between;
    margin-bottom: 2em;
}

.about_flow-box .about_flow-list li{
	width: 26%;
}

.about_flow-box .about_flow-list li p{
    font-size: clamp(1.239rem,3.304vw,2.478rem);
	letter-spacing: 0;
	white-space: nowrap;
	text-align: center;
	font-weight: 600;
	line-height: 1.5;
}

.about_flow-box .about_flow-list li .txt-blue{
	color:#3291e4;
}

.about_flow-box .about_flow-list li .txt-small{
	display: block;
	font-size:clamp(.8rem,2.6093vw,1.957rem);
    margin-left: -1em;
    width: calc(100% + 2em);
}

.about_flow-box .about_flow-list li figure{
	position: relative;
}

.about_flow-box .about_flow-list li:not(:last-child) figure:after {
    content: "";
    width: 1.4em;
    height: 1.8em;
    position: absolute;
    top: calc(50% - 1em);
    left: calc(100% + .6em);
    background: url(./img/new_advancepayment/icn_flow_arw@2x.png) no-repeat 50% 50%;
	background-size: contain;
}

.about_melit .main_img{
    width: 96.5%;
    margin: 0 auto 3.5%;
}

.about_melit .txt{
    width: 89%;
    margin: 0 auto 15%;
    text-align: left;
    line-height: 1.6;
	font-size: clamp(1.1rem,2.93vw,2.2rem);
    letter-spacing: 0;
}

.about_melit .melit_box {
    background: #eaf4fc;
    padding: 15% 4.5% 7% 6.5%;
    position: relative;
    border-radius: 1.3em;
    margin: 0 auto 13%;
    width: 95%;
    box-sizing: border-box;
}

.about_melit .melit_box.guest{
	background: #f6f6f6;
}

.about_melit .melit_box dt{
	text-align: center;
	width: 100%;
	position: absolute;
	left: 0;
	top: -.6em;
	text-align: center;
	color:#3291e4;
	font-size:clamp(2.2rem,5.867vw,4.401rem);
	font-weight: 600;
	line-height: 1.5;
    letter-spacing: 0;
}

.about_melit .melit_box dd{
	font-size: clamp(1.1rem,2.93vw,2.2rem);
    line-height: 1.6;
    text-align: left;
    letter-spacing: 0;
}

.about_melit .melit_box dt .en{
	display: block;
	color: rgba( 0,0,0,.4 );
	font-size:clamp(.72rem,1.942vw,1.457rem);
    letter-spacing: .3em;
}

.about_check .ttl_check-it {
    width: 69%;
    margin: 14% auto 14%;
}

.about_check .ttl_check {
    width: 84.5%;
    margin: 0 auto 6.5%;
}

.about_check .about_bank .img {
    width: 63%;
    margin: 0 auto 5.5%;
}

.about_check .about_bank .txt {
    width: 95%;
    margin: 0 auto 12%;
    text-align: left;
    letter-spacing: 0;
    line-height: 1.65;
}

.about_check .about_price {
    margin-top: 13%;
}

.about_check .about_price .txt{
	color:#3291e4;
	font-size:clamp(1.9rem,5.06vw,3.8rem);
	text-align: center;
}

.about_check .about_price .tbl_box{
	position: relative;
    margin: 4% auto;
    width: 92%;
}

.about_check .about_price .tbl_box:before,
.about_check .about_price .tbl_box:after{
	content: "";
	width: 49%;
	height: 100%;
    border-radius: .5em;
    background: #f6f6f6;
	position: absolute;
	top: 0;
}

.about_check .about_price .tbl_box:before{
	left: 0;
}

.about_check .about_price .tbl_box:after{
	right: 0;
	background: #e0eefb;
}

.about_check .about_price .tbl_box table{
	position: relative;
	z-index: 1;
	width: 100%;
	text-align: center;
}
.about_check .about_price .tbl_box table th,
.about_check .about_price .tbl_box table td{
	padding: 1em 0;
}
.about_check .about_price .tbl_box table th{
	font-size: clamp(1.2rem,3.2vw,2.4rem);
	padding: 1.3em 0 .8em;
}
.about_check .about_price .tbl_box table td{
	font-size: 2.1rem;
	font-size: clamp(1.05rem,2.80vw,2.1rem);
	padding: 1.5em 0;
}

.about_check .about_price .tbl_box table thead th,
.about_check .about_price .tbl_box table tbody tr:not(:last-child) th,
.about_check .about_price .tbl_box table tr:not(:last-child) td{
	width: 50%;
	border-bottom: 1px dashed #c5c5c5;
}

.about_check .about_price .txt-wrap_box p{
    font-size: clamp(1.1rem, 2.93vw, 2.2rem);
    line-height: 1.63;
    text-align: left;
    letter-spacing: 0;
    padding: .9em .5em;
}

.about_check .about_day {
    margin-top: 11%;
}

.about_check .about_day .txt{
    width: 95%;
    margin: -.4em auto 12%;
    text-align: left;
    letter-spacing: 0;
    line-height: 1.6;
    margin-bottom: 5%;
}

.about_check .tbl-wrap_box p {
    width: 95%;
    margin: 0 auto 1em;
    text-align: left;
    letter-spacing: 0;
    line-height: 1.6;
}

.about_check .about_day .txt-wrap_box p{
	width: 95%;
    margin: 0 auto 1.3em;
    text-align: left;
    letter-spacing: 0;
    line-height: 1.55;
}

.about_check .about_day .tbl_box {
    position: relative;
    border-radius: .5em;
    padding: 1.5% 3% 0.5% 5%;
    background: #f6f6f6;
    margin: 0 auto 4.5%;
    width: 98%;
    box-sizing: border-box;
}

.about_check .about_day .tbl_box table{
	table-layout: fixed;
	width: 100%;
}

.about_check .about_day .tbl_box tr:not(:last-child) th,
.about_check .about_day .tbl_box tr:not(:last-child) td{
	border-bottom: 1px solid #c8c8c8;
	padding: 1.3em 0;
}

.about_check .about_day .tbl_box th,
.about_check .about_day .tbl_box td{
    font-size: clamp(1.2rem, 3.2vw, 2.4rem);
	vertical-align: middle;
	font-weight: 500;
	padding: 2.4em 0;
}
.about_check .about_day .tbl_box th{
    text-align: left;
    line-height: 1.3;
}

.about_check .about_day .tbl_box td{
    text-align: center;
    line-height: 1.3;
}

.about_check .about_day .tbl_box td .txt-small{
	display: block;
	font-size: clamp(1rem, 2.66vw, 2rem);
}

.about_check .about_security{
    margin-top: 15.5%;
}

.about_check .about_security .txt{
    text-align: left;
    line-height: 1.6;
	font-size: clamp(1.1rem,2.93vw,2.2rem);
    letter-spacing: 0;
}

.about_check .about_security .img{
    width: 61%;
    margin: 9% auto 6.5%;
}

.about_check .about_other{
	margin-top: 17.5%;
}

.about_check .about_other .ttl_check{
    margin-bottom: 8%;
}

.about_check .about_other .about_box{
	position: relative;
    border-radius: .5em;
    padding: 5% 5% 5% 5%;
    background: #f6f6f6;
    margin: 0 auto 5%;
    width: 100%;
    box-sizing: border-box;
}

.about_check .about_other .about_box dt{
    text-align: center;
    color: #3291e4;
    padding-bottom: .7em;
    margin-bottom: 1em;
    font-size: clamp(1.7rem, 4.53vw, 3.4rem);
    line-height: 1.4;
    border-bottom: 1px dashed #c5c5c5;
    font-weight: 600;
}

.about_check .about_other .about_box dd{
	font-size: clamp(1.1rem,2.93vw,2.2rem);
	text-align: left;
    line-height: 1.65;
}


/* ----------------------------------------------------------------------
ex.dialog,widget
---------------------------------------------------------------------- */

.ui-widget-overlay{
	opacity: 1;
	background: rgba( 0,0,0,.56 );
}
.ui-dialog .ui-dialog-buttonpane{
	width: 100%;
	padding: 1em 5%;
	box-sizing: border-box;
	border: none;
}
.ui-widget.ui-widget-content {
    border: none;
    width: 90% !important;
    left: 5% !important;
    border-radius: 20px;
    overflow: hidden;
    box-sizing: border-box;
}
.ui-dialog-buttonset {
	width: 100%;
}
.ui-dialog .ui-dialog-buttonpane button,
.ui-dialog-buttonset button {
	display: block;
	width: 100%;
	border: solid 1px #3291e4;
	border-radius: .5em;
	/* max-width: 250px; */
	/* font-size: 1.6rem; */
    font-size: clamp(1.3rem, 3.46vw, 2.6rem);
	font-weight: 600;
	color: #fff;
	margin: 15px auto;
	padding: .9em 1.2em;
	position: relative;
	background: #3291e4;
	cursor: pointer;
	transition: all .2s;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
	line-height: 1.2;
    outline: none;
}

#home .ui-widget.ui-widget-content {
    border: none;
    width: 80% !important;
    left: 10.5% !important;
    border-radius: .5em;
    overflow: hidden;
    box-sizing: border-box;
    padding: 0 7%;
}

#home #dialog-message{
	padding: 0;
}
#home #dialog-message .popup_message .popup_message_img{
	display:none;
}

#home #dialog-message .popup_message.message_2 .ttl {
    line-height: 1.4;
	font-weight: 600;
    font-size: clamp(1.25rem, 3.43vw, 2.579rem);
    margin: 6% auto 7%;
    padding: 0;
}

#home #dialog-message .popup_message .ttl::after{
	display: none;
}

#home #dialog-message .popup_message .msg{
	font-size: clamp(1.1rem, 2.93vw, 2.2rem);
    line-height: 1.5;
	letter-spacing: 0;
    margin-bottom: 1.2em;
}

#home #dialog-message .popup_message .msg.indent{
    font-size: clamp(1rem, 2.66vw, 2rem);
    padding-left: 1em;
    text-indent: -1em;
    line-height: 1.6;
    margin-bottom: 1.7em;
}

#home .ui-dialog .ui-dialog-buttonpane {
    /* position: absolute; */
    /* right: 7%; */
    /* bottom: 5.5%; */
    width: auto;
    padding: 0;
    margin: 0 0 5%;
    display: inline-block;
}
#home .ui-dialog .ui-dialog-buttonpane button,
#home .ui-dialog-buttonset button{
    margin: 0;
    font-size: clamp(1rem, 2.66vw, 2rem) !important;
    padding: .8em 1.9em;
}

#home #dialog-message .label-wrap label{
    text-align: left;
    font-size: clamp(1rem, 2.66vw, 2rem);
    margin: 9% 0 7%;
}

#home.kouza_alert .icn_ex{
	display: block;
	width: 1.7em;
	height: auto;
    aspect-ratio: 1/1;
	margin: 0 auto .3em;
	background: url(./img/icons/icn_ex@2x.png) no-repeat 50% 50%;
	background-size: contain;
}

#home.kouza_alert #dialog-message .popup_message{
    padding: 0;
}

#home.kouza_alert #dialog-message .popup_message.message_2 .ttl{
    margin-bottom: 4%;
}

#home.kouza_alert .ui-widget.ui-widget-content {
    width: 74% !important;
    left: 13.5% !important;
    padding: 0 5% 2.5%;
    position: relative;
    overflow: visible;
}
#home.kouza_alert .ui-widget.ui-widget-content:before {
    content: "";
    width: 100%;
    height: 1.5em;
    background: url(./img/icons/icn_fuki@2x.png) no-repeat 50% 0%;
    background-size: 1.2em auto;
    position: absolute;
    top: 98%;
    left: 0;
    z-index: 100;
}

#home.kouza_alert #dialog-message .popup_message .msg {
    font-size: clamp(1rem, 2.66vw, 2rem);
    line-height: 1.6;
    margin-bottom: 1.2em;
    text-align: center;
}

#home.kouza_alert .ui-dialog .ui-dialog-buttonpane {
    position: absolute;
    top: .5em;
    right: .5em;
    width: 2em;
    height: 2em;
    padding: 0;
    margin: 0;
    display: block;
}
#home.kouza_alert .ui-dialog .ui-dialog-buttonset{
    width: 100%;
    height: 100%;
}

#home.kouza_alert .ui-dialog .ui-dialog-buttonpane button{
    margin: 0;
    padding: 0;
    background: url(./img/icons/icn_close@2x.png) no-repeat 50% 50%;
    background-size: 1.2em auto;
    width: 100%;
    height: 100%;
    display: block;
    border: none;
    color: transparent;
}

/* 口座未登録アラートは×ボタンデザインが固有のため、ui_alert_callbackが付与する
   dialog-confirm-next（!important付きの青ボタン体裁）より優先して打ち消す */
#home.kouza_alert .ui-dialog.dialog-confirm-next .ui-dialog-buttonpane{
    width: 2em !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}
#home.kouza_alert .ui-dialog.dialog-confirm-next .ui-dialog-buttonpane button{
    width: 100% !important;
    padding: 0 !important;
    background: url(./img/icons/icn_close@2x.png) no-repeat 50% 50% !important;
    background-size: 1.2em auto !important;
    color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    flex: none !important;
}
