@charset "utf-8";

/*
************************************************************************
* フォーム系
************************************************************************
*/
input[type='checkbox'],
input[type='checkbox']:focus
{
	-webkit-appearance:checkbox;
	-moz-appearance:checkbox;
	-ms-appearance:checkbox;
	-o-appearance:checkbox;
}
input[type='radio'],
input[type='radio']:focus
{
	-webkit-appearance:radio;
	-moz-appearance:radio;
	-ms-appearance:radio;
	-o-appearance:radio;
}
input[type=number]::-webkit-inner-spin-button {
    opacity: 1
}
input[type='datetime'],
input[type='datetime']:focus
{
	-webkit-appearance:datetime;
	-moz-appearance:datetime;
	-ms-appearance:datetime;
	-o-appearance:datetime;
	appearance:datetime;
}

.input-form
{
	display:flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
}
.input-form > .name-tag
{
	display:inline-flex;
	flex-wrap: nowrap;
	align-items: center;
	align-content: center;
	
	font-size:0.9em;
	width: 100%;
	color:#444444;
}
.input-form > .name-tag > i
{
	font-size:1.2em !important;
	color:var(--sub-color-01);
}
.input-form > label
{
	display: inline-flex;
	align-items: stretch;
	align-content: center;

	border-radius:0.25em;
	border:1px solid #888888;
	background-color:#FFFFFF;
	overflow:hidden;
}
.input-form.error > label
{
	border:1px solid #c40404;
}
.input-form > label.wide
{
	width:100%;
}
.input-form > label.wide.block
{
	display: inline-block;
}
.input-form > label.image
{
	margin-bottom:0.25em;
	width:100%;
	border:0px solid transparent;
}
.input-form > label.image > .thumbnail
{
	background-color:#CCCCCC;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:contain;
}
.input-form > label.image.image-169 > .thumbnail
{
	width:100%;
	padding-top:56.25%;
}
.input-form > label.image.image-ogp
{
	width:100%;
	max-width:1200px;
}
.input-form > label.image.image-ogp > .thumbnail
{
	width:100%;
	padding-top:52.5%;
}
.input-form > label.image.image-sq
{
	width:100%;
	max-width:640px;
}
.input-form > label.image.image-sq > .thumbnail
{
	width:100%;
	padding-top:100%;
}
.input-form > label.image.image-icon
{
	width:100%;
	max-width:256px;
}
.input-form > label.image.image-icon > .thumbnail
{
	width:100%;
	padding-top:100%;
}
.input-form > label.image.image-web
{
	width:100%;
	max-width:640px;

	background-image:  repeating-linear-gradient(45deg, #EFEFEF 25%, transparent 25%, transparent 75%, #EFEFEF 75%, #EFEFEF), repeating-linear-gradient(45deg, #EFEFEF 25%, #FFFFFF 25%, #FFFFFF 75%, #EFEFEF 75%, #EFEFEF);
	background-position: 0 0, 15px 15px;
	background-size: 30px 30px;
}
.input-form > label.image.image-web > .thumbnail
{
	width:100%;
	padding-top:75%;

	background-color:transparent;
	background-size:contain;
}

.input-form > .wide + .button-list,
.input-form > label.image + .button-list
{
	margin-top:0.25em;
	width:100%;
	flex:0 0 100%;
}
.input-form > label.image.image-web + .button-list
{
	position:absolute;
	bottom:1.0em;
	left:0.5em;
}
.input-form.error > label
{
	border-color:#7a0606;
}
.input-form > label.check
{
	align-items: center;
	border:1px solid transparent;
	background-color: transparent;
	margin-right:0.5em;
}
.input-form > label > .prefix,
.input-form > label > .suffix
{
	display: inline-flex;
	align-items: center;
	align-content: center;
	background-color:#EFEFEF;
	padding:0 0.5em;
	color:#333333;
}
.input-form > label > .prefix > i,
.input-form > label > .suffix > i
{
	font-size:1.0em !important;
}

.input-form > label > input[type='text'],
.input-form > label > input[type='number'],
.input-form > label > input[type='password'],
.input-form > label > input[type='tel'],
.input-form > label > input[type='color'],
.input-form > label > input[type='range'],
.input-form > label > input[type='date'],
.input-form > label > input[type='datetime'],
.input-form > label > input[type='datetime-local'],
.input-form > label > input[type='time'],
.input-form > label > select,
.input-form > label > textarea,
.input-form > label > .tox.tox-tinymce,
.input-form > label > .label
{
	width: 100%;
	flex:1 1 100%;
	
	display:inline-flex;
	border:0px solid transparent;
	background-color:#FFFFFF;
	
	margin:0;
	padding:0.4em 0.5em;
	line-height:1.2;
}
.input-form > label > input[type='text']:focus,
.input-form > label > input[type='date']:focus,
.input-form > label > input[type='datetime']:focus,
.input-form > label > input[type='datetime-local']:focus,
.input-form > label > input[type='time']:focus,
.input-form > label > input[type='number']:focus,
.input-form > label > input[type='password']:focus,
.input-form > label > input[type='tel']:focus,
.input-form > label > input[type='color']:focus,
.input-form > label > select:focus,
.input-form > label > textarea:focus
{
	background-color:#c2dfff;
}
.input-form > label.check > input
{
	margin-right:0.25em;
}

.input-form > .error
{
	font-size:0.9em;
	margin-bottom:0.25em;
	color:#c40404;
}

.input-form > .note
{
	font-size:0.9em;
	margin-top:0.5em;
	color:#666666;
}
.input-form > .note > *
{
	margin-bottom:0.5em;
}
.input-form > .note > *:last-child
{
	margin-bottom:0.0em;
}

/*
************************************************************************
* 支払方法設定
************************************************************************
*/
.payment_method
{
	display: grid;
	width:100%;
	grid-template:
		" mark  ..... method"      auto
		" mark  ..... description" auto
		" ..... ..... ..........." 0.5em
		" void1 ..... settings"    auto
		/ auto 0.5em 1fr;
	cursor: pointer;
}
.payment_method .mark
{
	grid-area: mark;
	display: flex;
	align-items: center;
}
.payment_method .method_name
{
	grid-area: method;
	font-weight:bold;
}
.payment_method .description
{
	grid-area: description;
	font-size:0.8em;
	color:#666666;
}
.payment_method .settings
{
	grid-area: settings;
	display:none;
}
.payment_method.selected .settings
{
	display:block;
}
.payment_method .mark .on
{
	display:none;
}
.payment_method .mark .off
{
	display:inline;
}
.payment_method.selected .mark .on
{
	display:inline;
}
.payment_method.selected .mark .off
{
	display:none;
}

/* ################################################################################################ */
/* ## TAB                        ################################################################## */
/* ################################################################################################ */
@media screen and (max-width:1200px) {
}

/* ################################################################################################ */
/* ## スマホサイト用スタイル ###################################################################### */
/* ################################################################################################ */
@media screen and (max-width:640px) {
}

