@charset "utf-8";
* {
  box-sizing:border-box;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  margin-inline-start: 0;

}
html {
  font-size:12px;
}
body {
	font-family: roboto,Arial,Helvetica,sans-serif;
  font-size:1.4rem;
  line-height:1.6;
  background:#162376 url(../img/bg.jpg);
  background-attachment:fixed;
  color:#000;
  position:relative;
}
img {
  max-width:100%;
  height:auto;
  margin:0 auto;
  display:block;
}
section,header,nav,main,footer {
  display:block;
}
a {
  color:inherit;
  text-decoration:underline;
  transition:all 0.2s ease-in-out;
}
a img {
  transition:all 0.2s ease-in-out;
}
a:hover img {
  opacity:0.7;
}
button,input[type="submit"] {
  cursor:pointer;
}
input::placeholder,
textarea::placeholder,
select {
  color:#9a96a2;
  opacity:1;
}
select option {
  color:#000;
  opacity:1;
}
.pc {
	display:none;
}
.sp {
	display:none;
}
@media screen and (min-width:770px){
.pc {
	display:block;
}
}
@media screen and (max-width:769px){
.sp {
	display:block;
}
}
span.nowrap {
	white-space: nowrap;
}
ul.attention, .form_notice_text {
	margin-left:1.2em !important;
}
ul.attention>li, .form_notice_text {
	list-style-type: none !important;
	text-indent: -0.8em !important;
}
ul.attention>li:before, .form_notice_text:before {
	display: inline !important;
	content: "※" !important;
	margin-right:0.2em !important;
}

form strong, .error {
	color:#ff0000;
	display:block;
	margin:0.5em 0;
}
form strong:before, .error:before {
	content:"!";
	font-size:1.5em;
	color:#fff;
	width:1.1em;
	height:1.1em;
	background:#ff0000;
	display:inline-block;
	text-align:center;
	line-height:1.1em;
	margin-right:0.5em;
	border-radius:1.1em;
}

header {
  margin:0 auto;
  padding:0;
	width:100%;
}
header h1 {
  max-width:90%;
  width:500px;
  margin:2rem auto 4rem;
  text-align:center;
}
header h2 {
  max-width:40%;
  width:250px;
  margin:4rem auto;
  text-align:center;
}
main {
	width:100%;
  max-width:1000px;
  margin:0 auto;
  padding:0 1em;
}
main section {
	margin:0 auto 5rem;
}
footer {
	text-align:center;
	padding:1em;
	color:#fff;
	font-size:0.6em;
}
@media screen and (max-width:769px){
	main {
	  padding:0;
	}
}

main .description h3 {
	margin:4rem auto 2rem;
	font-size:2em;
	font-weight:bold;
	text-align:center;
	color:#fff;
}
main .description p {
	font-size:1.4em;
	font-weight:bold;
	text-align:center;
	color:#fff;
	margin-bottom:4rem;
}
main .description p span {
	color:#f3ee84;
}

@media screen and (max-width:769px){
	main .description h3 {
		font-size:1.6em;
	}
	main .description p {
		font-size:1em;
	}
}
main .description>dl {
	display: table;
	width:100%;
}
main .description>dl>dt {
	display:table-cell;
	width:15rem;
	font-size:1.2em;
	color:#ffffff;
	padding:1rem;
	vertical-align:middle;
	margin:0.5rem 0;
	text-align:center;
	box-shadow: 0 0 20px 0 rgb(0, 199, 253, 0.5);
}
main .description>dl>dd {
	color:#fff;
	display:table-cell;
	padding:1rem 1rem 2rem;
	margin:0.5rem 0;
	font-size:1.2em;
}
main .description>dl>dd li {
	font-size:0.8em;
}

main .description>dl>dd .cpu {
	background:#fff;
	color:#000;
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
	box-sizing: border-box;
	gap:1rem;
	padding:1rem;
}
main .description>dl>dd .cpu dl {
	width:calc(50% - 1rem);
	box-sizing: border-box;
	display:flex;
	justify-content: space-between;
	gap:1rem;
}
main .description>dl>dd .cpu dl dt {
	width:35%;
	box-sizing: border-box;
}
main .description>dl>dd .cpu dl dd {
	width:65%;
	box-sizing: border-box;
	font-size:0.6em;
}

@media screen and (max-width:769px){
	main .description dl {
		display:block;
	}
	main .description dl dt {
		display:block;
		width:100%;
	}
	main .description dl dd {
		display:block;
		width:100%;
	}
	main .description>dl>dd .cpu dl {
		width:100%;
	}
}
main .howto h2 {
	background:#00c7fd;
	font-size:1.2em;
	font-weight:bold;
	color:#fff;
	text-align:center;
	padding:1em;
	margin:5em 0 0;
	box-shadow: 0 0 20px 0 rgb(0, 199, 253, 0.5);
}
main .howto  ol {
	font-size:1.1em;
}
main .howto ol li{
	list-style-type:decimal;
	margin-left:2em;
}
main .form h2, main .read h2 {
	background:#00c7fd;
	font-size:1.2em;
	font-weight:bold;
	color:#fff;
	text-align:center;
	padding:1em;
	margin:5em 0 0;
	box-shadow: 0 0 20px 0 rgb(0, 199, 253, 0.8);
}
main .form p {
	margin:0 0 1em;
}
main .form h3 {
	background:#00c7fd;
	font-size:1.2em;
	color:#ffffff;
	padding:1rem;
	vertical-align:middle;
	margin:0.5rem 0;
	text-align:center;
	box-shadow: 0 0 20px 0 rgb(0, 199, 253, 0.8);
}
main .form dl, main .read dl {
	display: table;
	width:100%;
}
main .form dl dt {
	color:#ffffff;
	padding:1rem;
	vertical-align:middle;
	margin:0.5rem 0;
	box-shadow: 0 0 20px 0 rgb(0, 199, 253, 0.8);
}

main.edit .form dl dt:after {
	content:"必須";
	background:#f00;
	padding:0.5rem;
	font-size:1rem;
	margin-left:2rem;
	border-radius:0.5rem;
}
main .form .enq dl.not_required dt:after {
	content:none;
}
main .form dl.short dt {
	display:table-cell;
	width:20rem;
}
main .form dl dd {
	color:#fff;
	padding:1rem 0 1rem 2rem;
	margin:0.5rem 0;
}
main .form dl.short dd {
	display:table-cell;
}
main .form dl dd>div {
	margin:0 0 1em;;
}
@media screen and (max-width:769px){
	main .form h2, main .read h2 {
		margin:2em 0 0;
	}
	main .form dl, main .read dl {
		display: block;
		width:100%;
	}
	main .form dl.short dt {
		display: block;
		width:100%;
	}
	main .form dl.short dd {
		display: block;
		width:100%;
		padding:1rem;
		border-bottom: none;
	}
}
main .terms {
	margin:0 auto 3em;
	border:1px solid #000;
	padding:1em;
	background:#ffffff;
}
main .terms dl {
}
main .terms dl dt {
	margin:0 0 1rem;
	font-size:1.2em;
}
main .terms dl dd {
	margin:0 0 2rem 1.2rem;
}
main .terms dl dd ul {
	margin-left:1em;
}
main .terms dl dd ul li {
	list-style-type:disc;
}
@media screen and (max-width:769px){
	main .terms dl dt {
		font-size:1em;
	}
}

main .thanks p {
	text-align:center;
	margin-bottom:2em;
}
main .form .form_input_text{
    width: 100%;
    line-height: 1.5em;
    padding: 10px 15px;
    background-color: #FCFCFC;
    border: 1px #000 solid;
    margin:0.5em 0;
}
main .form .form_input_text#zipcode{
    width: 10em;
}
main .form #zip2address, main .form .change_image {
  display: inline-block;
  background-color: #fec91b;
  color:#003dcc;
  font-weight:bold;
  text-align: center;
  margin: 0 1em 0;
  width:6em;
  max-width:100%;
  border-radius:0.5em;
  padding:10px 15px;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  position:relative;
  text-decoration:none;
	box-shadow: 0 0 20px 0 rgb(254, 201, 27, 0.8);
}
main .form .form_input_submit_label:hover, main .form .change_image:hover  {
  opacity:0.8;
}
main .form textarea.form_input_text{
	font-family:'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;
}

main .form .form_input_button {
	text-align:center;
}
main .form .form_input_submit_label {
  display: inline-block;
  background-color: #fec91b;
  font-weight:bold;
  color:#003dcc;
  text-align: center;
  margin: 2em 1em 0;
  width:16em;
  font-size:1.4em;
  max-width:100%;
  border-radius:0.5em;
  padding:10px 15px;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  position:relative;
	box-shadow: 0 0 20px 0 rgb(254, 201, 27, 0.8);
}
main .form .form_input_submit_label:hover {
  opacity:0.8;
}
main .form .form_input_submit_label:disabled {
  background-color: #aaa;
  cursor:default;
}
main .form .form_input_submit_label:disabled:hover {
  opacity:1;
}
main .form .form_input_submit_label:before {
  content:">";
  font-size: 1.6em;
  position:absolute;
  right:0.5em;
}
main .form .form_input_submit_button {
  display:none;
}
main .form .form_input_submit_text {
    font-size: 1.6em;
    color: #fff;
    font-weight: bold;
}
main .form .form_input_submit_text {
    font-size: 1.3em;
    line-height:2.5em;
}
main .form .form_input_back_label {
  display: inline-block;
  background-color: #00a0ff;
  color:#fff;
  text-align: center;
  margin: 2em 1em 0;
  width:16em;
  font-size:1.4em;
  max-width:100%;
  max-width:100%;
  border-radius:0.5em;
  padding:10px 15px;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  position:relative;
}
main .form .form_input_back_label:hover {
  opacity:0.6;
}
main .form .form_input_back_label:before {
  content:"<";
  font-size: 1.6em;
  position:absolute;
  left:0.5em;
}
main .form .form_input_back_button {
  display:none;
}
main .form .form_input_back_text {
    font-size: 1.6em;
    color: #fff;
    font-weight: bold;
}
@media screen and (max-width:769px){
main .form .form_input_submit_label,
main .form .form_input_back_label {
  width:calc(100% - 3em);
}
}

main .form .form_radio_box {
}
main .form .form_radio_box label {
    display:block;
}
main .form .form_radio_box label .radio {
    display:none;
}
main .form .form_radio_box label .text {
    display: inline-block;
    padding: 0 0 0 2em;
    position: relative;
}
main .form .form_radio_box label .text span {
  font-weight:bold;
}
main .form .form_radio_box label .text span:last-of-type {
  font-weight:bold;
  display:block;
}
main .form .form_radio_box label .text:before {
		content: '';
    width: 1.2em;
    height: 1.2em;
    border: 1px #000 solid;
    background:#fff;
    border-radius: 100%;
    position: absolute;
    top: 0.25em;
    left: 0;
}
main .form .form_radio_box label .radio:checked + .text:after {
    content: '';
    width: 1.2em;
    height: 1.2em;
    border: 1px #0042c9 solid;
    border-radius: 100%;
    background-color: #0042c9;
    position: absolute;
    top: 0.25em;
    left: 0;
    transform: scale(0.5);
}

main .form .form_check_box {
}
main .form .form_check_box label {
    display:block;
}
main .form .form_check_box label .checkbox {
    display:none;
}
main .form .form_check_box label .text {
    display: inline-block;
    padding: 0 0 0 2em;
    position: relative;
}
main .form .form_check_box label .text span {
  font-weight:bold;
}
main .form .form_check_box label .text span:last-of-type {
  font-weight:bold;
  display:block;
}
main .form .form_check_box label .text:before {
		content: '';
    width: 1.2em;
    height: 1.2em;
    border: 1px #000 solid;
    background:#fff;
    position: absolute;
    top: 0.25em;
    left: 0;
}
main .form .form_check_box label .checkbox:checked + .text:after {
    content: '';
    width: 1.5em;
    height: 1.5em;
    position: absolute;
    top: 0.05em;
    left: 0.05em;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSIjMDA0MmM5IiBkPSJNOSAyMmwtMTAtMTAuNTk4IDIuNzk4LTIuODU5IDcuMTQ5IDcuNDczIDEzLjE0NC0xNC4wMTYgMi45MDkgMi44MDZ6Ii8+PC9zdmc+");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

main .form label {
  cursor:pointer;
}

main .form .image_wrap {
	position:relative;
}
main .form .change_image {
	position:absolute;
	top:5px;
	left:5px;
}