/*--------------------------------------------------------------------------
汎用
--------------------------------------------------------------------------*/

/*clearfix*/
.clearfix:after {content: "";　display: block;　clear: both;　visibility: hidden;}

img {transition: opacity 0.3s;}

.flex {display: flex; flex-wrap: wrap;}

.myfont {font-family: "myFont", sans-serif;}

/*汎用arrow*/

/*汎用リンク*/

body {overflow: hidden;}
.loadout body {overflow: auto;}

/*--------------------------------------------------------------------------
投稿ページ (single.php)
--------------------------------------------------------------------------*/
#single {margin: 30px auto;}
#single h1 {
	position: relative;
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1.5;
	margin: 20px 0;
}
#single h2 {
	position: relative;
	font-size: 1.3em;
	font-weight: 700;
	line-height: 1.5;
	margin: 20px 0;
	padding: 8px 5px;
	border-bottom: 3px solid #ebecec;
}
#single h2:before {content: ""; display: block; position: absolute; bottom: -3px; left: 0; width: 100px; height: 3px; background: #ff931e;}
#single h3 {
	position: relative;
	font-size: 1.2em;
	font-weight: 700;
	line-height: 1.5;
	margin: 20px 0;
	padding: 9px 20px 8px;
	background: #f3f3f3;
	border-radius: 5px;
}
#single h3:before {content: ""; display: block; position: absolute; bottom: -12px; left: 25px; width: 0; height: 0; border-style: solid; border-width: 12px 15px 0 15px; border-color: #f3f3f3 transparent transparent transparent;}
#single h4 {
	font-size: 1.1em;
	font-weight: 700;
	line-height: 1.5;
	margin: 20px 0;
	padding-left: 10px;
	border-left: 5px solid #ff931e;
}
#single h5 {
	position: relative;
	font-size: 1em;
	font-weight: 700;
	line-height: 1.5;
	margin: 20px 0;
	padding-left: 1.2em;
}
#single h5:before {content: ""; display: block; position: absolute; top: 4px; left: 0; width: .75em; height: .75em; background: #ff931e;}
#single img {margin: 30px 20px 30px 0;}
#single p {word-break: break-all; line-height: 2; margin: 20px 0;}
#single a * {color: #ff931e;}
#single em {font-style: italic;}
#single strong {font-weight: 700; background: linear-gradient(to bottom, #fff 0%, #fff 50%, #ffff7f 50%, #ffff7f 100%);}

#single ul, #single ol {margin: 30px 0;}
#single ul li, #single ol li {margin-left: 1.5em; line-height: 2.5;}
#single ul {list-style-type: disc;}
#single ul li {list-style-type: inherit;}
#single ol {list-style-type: decimal;}
#single ol li {list-style-type: inherit;}
#single ul ul, #single ol ol, #single ul ol, #single ol ul {margin: 0 0 0 1.75em;}

#single table {border-collapse: collapse; text-align: left; line-height: 1.5; margin: 30px 0; border: 1px solid #ddd;}
#single table thead th, #single table thead td,
#single table tfoot th, #single table tfoot td {background: #f3f3f3; font-weight: 700;}
#single table thead th, #single table thead td {padding: 0.75rem 0.5rem;}
#single table th, #single table td {padding: 0.5rem; border: 1px solid #ddd;}
#single table th {background: #fafafa;}

#single .aligncenter {display: block; margin: 0 auto;}
#single .alignright {float: right;}
#single .alignleft {float: left;}

/*--------------------------------------------------------------------------
フォーム (page-form.php)
--------------------------------------------------------------------------*/
#form {}
#form fieldset {margin-bottom: 50px;}
#form fieldset input[type="text"],
#form fieldset input[type="email"],
#form fieldset input[type="tel"],
#form fieldset textarea {width: calc(100% - 24px); border: 1px solid #999; padding: 8px 12px; resize: vertical;}
#form fieldset textarea.address {height: 60px;}
#form fieldset legend {display: flex; align-items: center; font-family: "myFont", sans-serif; font-size: 1.9rem; margin-bottom: 5px;}
#form fieldset legend span {display: inline-block; color: #fff; background: #1d256b; margin-left: 12px; padding: 4px 12px;}
#form fieldset label.file {display: inline-block; color: #fff; font-size: 1.1rem; font-weight: 700; margin: 5px 0; padding: 8px 40px; background: #000; border: 1px solid #000; transition: .3s cubic-bezier(.09,1.17,.51,.98);}
#form fieldset label.file:hover {color: #000; background: #fff; cursor: pointer;}
#form fieldset label.file input[type="file"] {display: none;}
#form fieldset input.file-name {display: inline-block!important; width:calc(100% - 250px); margin-left: 12px; padding: 0; border: none; background: transparent!important; cursor: default;}
#form fieldset p {font-size: 1.05rem; margin-bottom: 15px;}
#form fieldset.adr h3 {font-size: 1.2rem;}
#form fieldset.adr .box {margin: 10px 0;}
#form fieldset.adr .flex {justify-content: space-between;}
#form fieldset.adr .flex li {display: block; width: 48%;}
#form fieldset.adr .flex li:last-child {width: 100%;}
#form fieldset span.notice {font-size: .95rem;}
#form .cheak {text-align: center; margin-bottom: 40px;}
#form .cheak label {position: relative; display: inline-block; text-align: center; cursor: pointer;}
#form .cheak span {display: inline-block; margin: 0 0 0 5px;}

#form .contact {margin: 80px auto;}
#form .contact h2 {font-size: 2.25rem; border-bottom: 1px solid #999; margin-bottom: 40px; padding-bottom: 60px;}
#form .contact input[type="submit"] {
	display: block;
	color: #fff;
	font-size: 1.1em;
	letter-spacing: 1.5px;
	background: #1d256b;
	border: 1px solid #1d256b;
	margin: 60px auto;
	padding: 16px 48px;
	transition: all .3s ease-in-out;
}
#form .contact input[type="submit"]:hover {color: #1d256b; background: #fff;}
/*--------------------------------------------------------------------------
テンプレート選択 (page-selest.php)
--------------------------------------------------------------------------*/
#select .arrow {margin: 0 auto 80px;}

#select .select_card {padding: 80px 0 60px; background: #ffff1e;}
#select .select_card .your-card {width: 100%;}
#select .select_card .your-card #card_radio {display: flex; justify-content: space-around; align-items: center; flex-wrap: wrap;}
#select .select_card .your-card .wpcf7-list-item {position: relative; display: block; width: 322px; margin: 0 0 40px; text-align: center;}
#select .select_card .your-card .wpcf7-list-item label {cursor: pointer;}
#select .select_card .your-card .wpcf7-list-item label:before {content: ""; position: relative; display: block; width: 322px; height: 195px; background-size: 100%; background-position: 0 0; background-repeat: no-repeat;}
#select .select_card .your-card .wpcf7-list-item:nth-child(1) label:before {background-image: url(../img/card/sec03_card01@x2.png);}
#select .select_card .your-card .wpcf7-list-item:nth-child(2) label:before {background-image: url(../img/card/sec03_card02@x2.png);}
#select .select_card .your-card .wpcf7-list-item:nth-child(3) label:before {background-image: url(../img/card/sec03_card03@x2.png);}
#select .select_card .your-card .wpcf7-list-item:nth-child(4) label:before {background-image: url(../img/card/sec03_card04@x2.png);}
#select .select_card .your-card .wpcf7-list-item:nth-child(5) label:before {background-image: url(../img/card/sec03_card05@x2.png);}
#select .select_card .your-card .wpcf7-list-item:nth-child(6) label:before {background-image: url(../img/card/sec03_card06@x2.png);}
#select .select_card .your-card .wpcf7-list-item:nth-child(7) label:before {background-image: url(../img/card/sec03_card07@x2.png);}
#select .select_card .your-card .wpcf7-list-item:nth-child(8) label:before {background-image: url(../img/card/sec03_card08@x2.png);}
#select .select_card .your-card .wpcf7-list-item:nth-child(9) label:before {background-image: url(../img/card/sec03_card09@x2.png);}
#select .select_card .your-card .wpcf7-list-item span.wpcf7-list-item-label {display: block; position: relative; width: 100%; font-family: "myFont", sans-serif; font-size: 1.05rem; margin-top: 10px;}

#select .data_input {padding: 80px 0 0;}
#select .data_input .caution {border: 1px solid #ff1d25; padding: 15px 30px;}
#select .data_input .caution h3 {font-size: 1.75rem; color: #ff1d25; text-align: center; margin-bottom: 10px;}
#select .data_input .caution p {font-size: 1.2rem; color: #ff1d25; line-height: 2;}
#select .data_input .caution strong {font-weight: 700; font-size: 1.25rem; color: inherit;}

#select .submit_button {text-align: center; margin-top: -24px; padding: 60px 0; background: #ffff1e;}
#select .submit_button input[type="submit"] {font-size: 1.75rem; font-weight: 700; color: #ff1d25; margin: 0 auto; padding: 25px 60px 20px; border: 5px solid #ff1d25; transition: all 0.3s ease-in-out;}
#select .submit_button input[type="submit"]:hover {}

.wpcf7-not-valid-tip {color: #ff1d25!important;}
.wpcf7-response-output {width: 980px; border: 1px solid #ff1d25!important; color: #ff1d25!important; text-align: center!important; background: transparent!important; margin: 60px auto!important; padding: 4px 0!important;}

/*--------------------------------------------------------------------------
サンクスページ
--------------------------------------------------------------------------*/
#thanks .container {margin: 80px auto; text-align: center;}
#thanks h1 {font-size: 2.75rem; color: #eb6101; font-weight: 700;}
#thanks p {font-size: 1.25rem; color: #666; font-weight: 700; margin: 40px auto;}
#thanks small {display: inline-block; font-size: .95rem; color: #fff; background: #2e8b57; margin: 0 auto 40px; padding: 10px 15px; border-radius: 5px;}
#thanks ul.notice {display: inline-block; margin: 0 auto 0; padding: 10px; border: 1px solid #1d256b;}
#thanks ul.notice li {text-align: left; font-size: .95rem; color: #1d256b; text-indent: -1rem; padding-left: 1rem; margin: 10px;}
#thanks .back {
	display: inline-block;
	color: #fff;
	font-size: 1.1em;
	letter-spacing: 1.5px;
	background: #1d256b;
	border: 1px solid #1d256b;
	margin: 60px auto 0;
	padding: 16px 48px;
	transition: all .3s ease-in-out;
}
#thanks .back:hover {color: #1d256b; background: #fff;}

/*--------------------------------------------------------------------------
支払い
--------------------------------------------------------------------------*/
#checkout {padding: 60px 0;}
#checkout li {margin: 0!important;}
#checkout .woocommerce-message {display: none;}
#checkout #customer_details > div {width: 100%;}
#checkout #customer_details .col-2 {margin: 40px 0 20px;}
#checkout .woocommerce-billing-fields__field-wrapper {margin-bottom: 40px;}
#checkout #billing_country_field {display: none;}
#checkout #customer_details p label,
#checkout #customer_details p label span {font-family: "myFont", sans-serif; font-size: 18px;}
#checkout h3 {font-family: "myFont", sans-serif; margin-bottom: 40px;}
#checkout h3#ship-to-different-address {position: static; border: none;}
#checkout h3#ship-to-different-address span {font-weight: 700;}
#checkout h3#order_review_heading {font-size: 24px; margin: 40px 0 20px; padding-bottom: 4px; border-bottom: 2px solid #333;}
#checkout input[type="text"],#checkout textarea,#checkout span.select2-selection {height: auto; border: 1px solid #ccc; margin: 0; padding: 12px 8px; border-radius: 0; resize: vertical;}
#checkout span.select2-selection__rendered {height: auto; line-height: 1.1; padding: 0;}
#checkout span.select2-selection__arrow {height: 43px;}
#checkout span.select2-dropdown {border: 1px solid #ccc!important;}
#checkout button.file_upload_account {width: 240px; background: #000; border: none; border-radius: 0;}
#checkout #place_order {float: none!important; display: block; width: 280px; font-family: "myFont", sans-serif; font-size: 24px!important; text-align: center; margin: 55px auto 35px; padding: 12px 0; background: #1d256b; color: #fff; border: 1px solid #0d155b; border-radius: 6px; transition: .3s ease;}
#checkout #place_order:hover {background: #ff931e; color: #1d256b; opacity: 1}
#checkout .form-row {margin-bottom: 10px;}
#checkout p.notice {line-height: 2; margin-bottom: 20px;}
#checkout .caution {border: solid 1px #f00; margin-top: 20px; padding: 12px 24px;}
#checkout .caution h4 {font-size: 20px; color: #f00; text-align: center; margin-bottom: 8px;}
#checkout .caution ul li {color: #f00;}

/*------------------------------------
フッター
------------------------------------*/
footer {background: #1d256b!important; margin-top: auto;  text-align: center;}
footer nav ul {justify-content: center; padding: 32px 0 40px;}
footer nav ul li {line-height: 1; padding: 0 24px; border-right: 1px solid #afb5e9;}
footer nav ul li:last-child {border-right: none;}
footer nav ul li a {color: #fff;}
footer .logo {display: inline-block; margin-left: -32px;}
footer .copyright {display: block; color: #fff; padding: 24px 0 36px;}

/*ロード*/
#loader {display: flex; justify-content: center; align-items: center; flex-direction: column; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: #fff; visibility: visible; z-index: 9999; transition: .5s ease;}
#loader .card {position: relative; width: 83px; height: 85px; margin-left: -24px; animation: rote 2s infinite; transform-origin: 64% 100%;}
@keyframes rote {0% {transform: rotateY(0deg);} 50% {transform: rotateY(360deg);} 100% {transform: rotateY(0deg);}}
#loader .card div {position: absolute; top: 0; left: 0; width: 88px; height: 85px;}
#loader p {margin-top: 15px;}
#loader p span {visibility: hidden; opacity: 0; animation:load 1.5s ease-in-out infinite;}
#loader p span:nth-of-type(1) {animation-delay:0s;}
#loader p span:nth-of-type(2) {animation-delay:.5s;}
#loader p span:nth-of-type(3) {animation-delay:1s;}
@keyframes load {0% {visibility :hidden; opacity: 0;} 50% {visibility: visible; opacity: 1;} 100% {visibility: hidden; opacity: 0;}}

.loadout #loader {visibility: hidden; opacity: 0;}

/*スクロール*/
#scroll {display: flex; justify-content: center; align-items: center; position: fixed; bottom: 40px; left: 40px; width: 64px; height: 64px; background: rgba(0,0,0, .3); border-radius: 50%; opacity: 0; z-index: 1000;}
#scroll.active {opacity: 1;}
#scroll img {width: 24px;}
