/* Your custom styles */
/*ベース*/
html {scroll-behavior: smooth;}
.page_privacy div {
	background:#fff;
}
.page_tokusyou div {
	background:#fff;
}
.center {text-align: center;}
.block {
	display: block;
	margin: 0 auto;
}
.left {float: left;}
.right {float: right;}
.container-fluid {padding: 0;}
.grey-text {color: #717171!important;}
.bold {
    font-weight: 500!important;
    line-height: 1.5em;
    font-size: larger;
}
body {background: #140701;}
body p {
	font-size: 20px !important;
	max-width: 700px;
	margin: 0 auto 45px;
	text-align: left;
	color:#fff !important;
}
img {
    border: 0;
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}
.bg_black {
	background:#000;
	padding-top: 10px !important;
	padding-bottom: 30px !important;
}
.bg_green {
	background: #096776;
}
.bg_navy {
	background:#00386a;
}
.bg_uma {
	bottom: 0;
    height: calc(1% + 25.909224vw);
}
.bg_white {background: #fff;}
.bg_white p {color: #140701 !important;}
.container .row {
	margin: 0 auto;
    display: block;
}
.marker {
    background: linear-gradient(transparent 90%, #ffff64 -30%);
}
.txt_red {font-weight:500;color:#ff0000 !important;}
.txt_pp {color:#fe93ff !important; font-weight: 500;}
.txt_black {font-weight:500;color:#000;}
.txt_green {font-weight:500;color:#0bff33 !important;}
.txt_yellow {font-weight:500;color:#e0ff00 !important;}
.f30 {
	font-size: 30px !important;
	line-height: 1.4em !important;
	padding:40px 0;
}
.f40 {font-size: 40px !important;}
.pb60 {padding-bottom: 60px !important;}
.mt60 {margin-top: 60px;}
.mb60 {margin-bottom: 60px;}
.pt60 {padding-top: 60px !important;}

.button-004 {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 230px;
    width: 100%;
    margin: 0;
    padding: 0.5em 0em;
    border: none;
    border-bottom: solid 3px #0059a0;
    border-radius: 5px;
    background-color: #2589d0;
    color: #fff;
    font-weight: 600;
    font-size: 1em;
    transition: .5s ease;
}

.button-004:hover {
    transform: translateY(3px);
    border-bottom-width: 3px;
}
ul.waku {
    border: solid 3px #fff;
    padding: 20px 20px 20px 30px;
    background: #074e51;
    max-width: 620px;
    margin: 0 auto 45px;
}
ul.waku li {
	font-size: 20px;
	color:#fff;
	text-align: left;
}
table {
  border: 1px solid #ccc;
  border-collapse: collapse;
  margin-bottom: 60px;
  padding: 0;
  table-layout: fixed;
  width: 100%;
}
table tr {
  background: #f8f8f8;
  border: 1px solid #ddd;
  padding: .35em;
}
table th,
table td {
  padding: .625em;
  text-align: center;
  font-size: 15px;
}
table th {font-weight: bold; color:#fff;}
table tr.ttl {background: #126a13;}
table td.day {font-weight: bold;}

@media screen and (max-width: 600px) {
  table thead {
    display: none;
  }
  table tr {
    border-bottom: 3px solid #ddd;
    display: block;
  }
  table td {
    border-bottom: 1px solid #ddd;
    display: block;
    text-align: right;
  }
  table td:before {
    content: attr(aria-label);
    float: left;
  }
  table td.day {
  	background:#126a13;
  	color:#fff;
  }
}

.timer {
	background: #630000;
    padding: 40px;
}
.timer p.ttl {
	text-align: center;
	margin-bottom: 0px;
	color: #ff0000 !important;
}
.timer .countdown {
	text-align: center;
	color:#ff0000;
}
.timer02 {
	padding-bottom: 0 !important;
}

.list p {
	padding-left:1em;
	text-indent:-1em;
	font-size: 22px! important;
	margin-bottom: 5px;
}
.container {
	padding-bottom: 45px;
}
.img_ttl {
	margin-bottom: 60px;
	border: solid #9200ad 10px;
}
.waku {
	border:solid 3px #fff;
	padding:20px 20px 20px 30px;
	background:#074e51;
	max-width: 550px;
    margin: 0 auto 45px;
}
.waku li {
	font-size: 17px;
	color:#fff;
	text-align: left;
}
.lightbox .lb-image {
    border: none !important;
}

.ad {
	font-size: 17px;
	color: #fff;
	text-align: left;
	max-width: 600px;
    margin: 0 auto 45px;
    background:#333;
    padding: 30px;
}
.ad p {
	margin-bottom: 0;
}
.voice_box {
    background: #757575;
    padding: 40px 40px 75px;
    margin-bottom: 45px;
}
.voice_box .v_ttl {
	font-size: 30px;
    color: yellow;
    font-weight: 500;
}
.voice_box img.vo01 {
	max-width: 501px;
	width:20%;
	margin-bottom: 20px;
}
.voice_box .name {
    font-weight: bold;
    background: #020a16;
    padding: 20px 15px;
    font-size: 21px !important;
    margin-bottom: 30px;
    text-align: center;
}
.voice_box div.content {
	font-size: 17px;
	color: #fff;
	padding-top: 20px;
}
.voice_box div.content p {
	margin-bottom: 0;
}
.plan01 {
	padding: 60px 30px 30px;
    background: #6b452d;
    border: solid 5px #f4b084;
    margin: 30px 0 60px;
}
.plan01 p {
	color:#fff !important;
}
.plan02 {
	padding: 60px 30px 30px;
    background: #615227;
    border: solid 5px #ffd966;
    margin: 30px 0 60px;
}
.plan02 p {
	color:#fff !important;
}
.plan03 {
	padding: 60px 30px 30px;
    background: #185b5b;
    border: solid 5px #50e2e2;
    margin: 30px 0 60px;
}
.plan03 p {
	color:#fff !important;
}
p.p01 {
	color:#f4b084 !important;
	padding: 20px 30px 20px;
    background: #6b452d;
	font-weight: bold;
	margin-top: 45px;
	margin-bottom: 10px;
	font-size: 22px !important;

}
p.p02 {
	color:#ffd966 !important;
	padding: 20px 30px 20px;
    background: #615227;
	font-weight: bold;
	font-size: 22px !important;
}
span.p01 {
	color:#f4b084;
	display: inline-block;
	padding: 5px 20px 5px;
    margin-right: 10px;
    margin-bottom: 10px;
    background: #6b452d !important;
	font-weight: bold;
	font-size: 22px !important;

}
span.p02 {
	color:#ffd966;
	display: inline-block;
	padding: 5px 20px 5px;
    margin-right: 10px;
    margin-bottom: 10px;
    background: #615227 !important;
	font-weight: bold;
	font-size: 22px !important;
}
.p01_cr {color:#f4b084;}
.p02_cr {color:#ffd966;}
.p03_cr {color:#50e2e2;}

.thanks_page .center p {text-align: center;}
.thanks_page .center {
	background:#0e4f19;
	padding: 40px 10px 1px;
	margin-bottom: 30px;
}
.thanks_ttl {
	margin-bottom: 45px;
}
.container_law img {
	margin: 0 auto;
	display: block;
}
body.law_page {
	background: #fff !important;
	margin: 0;
}
body.law_page #footer {
	background: #000;
	padding:10px;
}
body.law_page #footer p {
	text-align: center;
    font-size: 14px !important;
    margin-bottom: 10px !important;
}

/* loader */
#loader-bg {
	background: url(../img/bg_loader.png);
	height: 100%;
	left: 0px;
	position: fixed;
	top: 0px;
	width: 100%;
	z-index: 900;
}

.loader-img  {
	left: 50%;
	position: fixed;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 100;
	text-align: center;
}

.loader-img-01 {
	animation: loader-img-01 3.0s both 0.2s;	
}

@keyframes loader-img-01 {
  0% { 
	  transform: translate(0,50px);
	  opacity: 0;
	}
  100% { 
	  transform: translate(0,0);
	  opacity: 1;
	}
}

.loader-img-02 {
	animation: loader-img-02 3.0s both 0.5s;	
}

@keyframes loader-img-02 {
  0% { 
	  transform: translate(0,50px);
	  opacity: 0;
	}
  100% { 
	  transform: translate(0,0);
	  opacity: 1;
	}
}
form {background: #0e4f19;}
form p {
	text-align: left !important;
	margin-bottom: 30px !important;
}
form label {text-align: left !important;}
form b {
	background: #0a8f4b;
    display: block;
    padding: 10px;
    margin-bottom: 10px;
}
form p.text-center.txt_red {
	font-size: 24px !important;
	line-height: 1.5em;
}
form .sm_red {
	font-size: 16px;
	color:red;
}
form p.bold {
	font-size: 24px !important;
	line-height: 1.5em;
	margin-top: 20px;
}
form input::placeholder {
	font-size: 18px;
}
form label {
	margin-top:0px;
}

@media screen and (max-width: 640px) {
	#loader-bg {
		background: url(../img/bg_loader.png);
		height: 100vh;
		left: 0px;
		position: fixed;
		top: 0px;
		width: 100%;
		z-index: 100;
	}

	#loader-bg {
		left: 50%;
		position: fixed;
		top: 50%;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		z-index: 100;
	}
		
	/*#loader img {
		width: 96vw;
	}*/
}

/*MV*/
.software-lp .rgba-gradient {
	background: url(../img/bg_mv02.jpg) !important;
	background-repeat: no-repeat;
	background-position: contain;
}
.mv {
	max-width: 1362px;
	margin: 0 auto;
	width: 100%;
	display: block !important;
}
header {
	height: auto !important;
	background: #0b0602;
	background-repeat: repeat-x;
}

.countdown {
    color: #000;
    font-size: 42px;
    font-weight: bold;
}
.cdt_txt {
	font-size: 22px;
	text-align: center;
	font-weight: bold;
	padding-top: 45px;
	margin-bottom: 0;
}

.js-fade {
    opacity: 0;
    visibility: hidden;
    transform: translateY(50px);
    transition: opacity 1s,visibility 1s, transform 1s;
}
.scroll {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}

/*見出し*/
.h1, h1 {
    font-size: 2rem;
    line-height: 1.5em;
}

.container-fluid.bg_moon .streak {
	background: url(../img/bg_show_case01.jpg) !important;
	background-repeat: no-repeat;
}

.container-fluid.bg_moon .streak.streak-photo {
    background-attachment: fixed;
}
.container-fluid.bg_moon strong {
	color:#fff;
}

/*head*/
.head_grey {
	background:#f3f3f3;
	padding:60px 0 30px;
	position: relative;
}
.head_ttl_bl {
	background:#140701;
	background-repeat: repeat-x;
	position: relative;
}
.head_ttl_wh {
	background:#fff;
	background-repeat: repeat-x;
	position: relative;
}
.head_navy02 {
	background:#083c90;
}
.head_black {
	background:#140701;
	position: relative;
}
.head div {
	max-width:1140px;
	margin: 0 auto;
}
.head div.txt_area {
	max-width: 580px;
	margin: 45px auto 0;
	padding: 0 20px 60px;
}
.black_box {
	background:#000;
	padding: 5px 15px;
	color:#fff;
	margin: 5px;
}
.ttl01 {
	width:100%;
	margin-top: 30px;
    margin-bottom: 30px;
	max-width: 800px;
}
.ttl02 {
	max-width: 707px;
	margin-top: 45px;
	margin-bottom: 45px;
	width:100%;
}
.ttl03 {
	max-width: 707px;
	width:100%;
	padding-bottom: 60px;
	padding-top: 75px;
}
.ttl04 {
	max-width: 707px;
	width:100%;
	margin-top: 40px;
    margin-bottom: 60px;
}
.ttl05 {
	max-width: 707px;
	width:100%;
}
.ttl06 {
	max-width: 707px;
	width:100%;
	margin-top: 60px;
	margin-bottom: 45px;
}
.ttl07 {
	max-width: 707px;
	width:100%;
	margin-top: 60px;
	margin-bottom: 45px;
}
.ttl08 {
	margin-bottom: 60px;
}
.ttl09 {
	margin-bottom: 60px;
}
.ttl11 {
	margin-top: 60px;
	margin-bottom: 60px;
}
p.get_btn {
  display: inline-block;
  max-width: 400px;
  text-align: center !important;
  width:100%;
  text-align: center;
  text-decoration: none;
  font-size: 20px;
  font-weight: bold;
  color: #000 !important;
  border-radius: 60px;
  padding: 20px;
  line-height: 1.5em;
  background-color: #00ff00;
  box-shadow: 0px 5px 0px #16890e;
  transition: .3s;
}
p.get_btn:hover {
  background-position: right center;
  background-size: 200% auto;
  -webkit-animation: pulse 2s infinite;
  animation: ripple 1.5s infinite;
  color: #000;
  box-shadow: unset;
  transform: translateY(4px);
}

form p.get_btn {
  display: inline-block;
  max-width: 400px;
  width:100%;
  text-align: center;
  text-decoration: none;
  font-size: 18px !important;
  font-weight: bold;
  color: red !important;
  border-radius: 40px;
  padding: 20px 20px 15px;
  line-height: 1.3em;
  background-color: #00ff00;
  box-shadow: 0px 5px 0px #16890e;
  transition: .3s;
}
form p.get_btn:hover {
  background-position: right center;
  background-size: 200% auto;
  -webkit-animation: pulse 2s infinite;
  animation: ripple 1.5s infinite;
  box-shadow: unset;
  transform: translateY(4px);
}
@keyframes ripple {
  0% {box-shadow: 0 0 0 0 #00ff00;}
  70% {box-shadow: 0 0 0 10px rgb(27 133 251 / 0%);}
  100% {box-shadow: 0 0 0 0 rgb(27 133 251 / 0%);}
}
input[type="submit"],
input[type="text"],
select,
textarea,
button {
  -moz-appearance: none;
  -webkit-appearance: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
  border: none;
  background:none;
}
 
 
input[type="text"],
textarea {
  background: #f8f8f8;
  display: block;
  font-size: 16px;
  padding: 12px 15px;
  max-width: 680px;
  width:100%;
  transition: 0.8s;
  border-radius: 0;
}
 
input[type="text"]:focus,
textarea:focus {
  background: #e9f5fb;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
 
textarea[name="content"] {
  display: inline-block;
  width: 100%;
  height: 200px;
}
 
input::placeholder,
textarea::placeholder {
  color: #ccc;
}
 
::-webkit-input-placeholder {
  color: #ccc;
  opacity: 1;
}
 
::-moz-placeholder {
  color: #ccc;
  opacity: 1;
}
 
:-ms-input-placeholder {
  color: #ccc;
  opacity: 1;
}
 
.form-table {
  width: 100%;
}
 
.form-table th,
.form-table td {
  border-top: 1px solid #d7d7d7;
  border-bottom: 1px solid #d7d7d7;
  padding: 20px;
}
 
.form-table th {
  background: #ffecea;
  padding-left: 50px;
  position: relative;
  text-align: left;
  width: 300px;
}

/* 以下はレイアウト調整用 */
body{
  vertical-align:middle; 
  text-align: center;
}
.ttl_form {
	margin-top: 45px;
	margin-bottom: 30px;
}
#gaiyou {
	font-size: 20px;
	text-align: left;
}
#gaiyou dt {
    font-size: 18px;
    color: #000;
    font-weight: bold;
    background: #ebebeb;
    padding: 7px 0 5px 11px;
    margin-bottom: 10px;
}
#gaiyou dd {
    font-size: 18px;
    margin-bottom: 30px;
    color: #000;
}
.bg_money {
	background: url(../img/bg_money.jpg) !important;
	background-size: 100% !important;
}
.bg_money .container div {
	background: #000;
    opacity: 70%;
    padding: 45px 0 5px 0;
    max-width: 700px;
    margin: 0 auto;
}
/*pat*/
.pat {margin-bottom: 30px;}
.arrow-top {
	margin-top: 15px;
	margin-bottom: 45px;
}

#area05 p {text-align: center;}
.wrap p {
	font-size: 40px !important;
	font-weight: bold;
}
.form_area p {
	color:#fff !important;
}
form {
	max-width: 650px;
    margin: 0px auto 0;
    color: #fff;
    padding: 20px;
}
form label {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	display: block;
}

.bg_white form p.text-center.txt_red.blinking {
	color:#ff0000 !important;
}

.caution {font-size: 14px !important;}

/* 点滅 */
.blinking{
	-webkit-animation:blink 0.5s ease-in-out infinite alternate;
    -moz-animation:blink 0.5s ease-in-out infinite alternate;
    animation:blink 0.5s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}


/*画像*/
.sc {
	margin-top: 15px;
	margin-bottom: 60px;
}
.sc_box {
	background: #f9f9f9;
	padding:60px 45px 30px;
	margin-bottom: 60px;
}
.img01 {
	max-width: 587px;
	width: 100%;
	margin-bottom: 45px;
}
.img02 {
	max-width: 1000px;
	width: 100%;
	margin: 90px 0;
}
.img03 {
	max-width: 553px;
	width: 100%;
	margin-bottom: 90px;
}
.img04 {
	max-width: 680px;
	width: 100%;
	margin-bottom: 40px;
}
.img05 {
	max-width: 567px;
	width: 100%;
	margin-top: 90px;
	margin-bottom: 90px;
}
.img06 {
	max-width: 600px;
	width: 100%;
	margin-bottom: 90px;
}
.img07 {
	max-width: 800px;
	width: 100%;
	margin-bottom: 60px;
}

.img08 {
	max-width: 772px;
	width: 100%;
	margin-bottom: 45px;
}
.img09 {
	max-width: 798px;
	width: 100%;
	margin-top: 90px;
    margin-bottom: 90px;
}
.img10 {
	max-width: 800px;
	width: 100%;
	margin-top: 90px;
	margin-bottom: 95px;
}
.img11 {
	max-width: 652px;
	width: 100%;
	margin-top: 30px;
	margin-bottom: 45px;
}
.img12 {
	max-width: 800px;
	width: 100%;
	margin-top: 90px;
	margin-bottom: 45px;
}
.img13 {
	max-width: 800px;
	width: 100%;
	margin-top: 90px;
	margin-bottom: 45px;
}
.img14 {
	max-width: 800px;
	width: 100%;
	margin-top: 90px;
	margin-bottom: 45px;
}
.img15 {
	max-width: 767px;
	width: 100%;
	margin-top: 45px;
	margin-bottom: 45px;
}
.img16 {
	max-width: 800px;
	width: 100%;
	margin-top: 40px;
	margin-bottom: 45px;
}
.img17 {
	max-width: 800px;
	width: 100%;
	margin-top: 90px;
}
.img18 {
	max-width: 651px;
	width: 100%;
	margin-top: 40px;
}
.img20 {
	max-width: 800px;
	width: 100%;
	margin-top: 45px;
	margin-bottom: 45px;
}
.img_jisseki {
	max-width: 569px;
	width:100%;
	margin-bottom: 60px;
}
.logo_pc {
	max-width: 680px;
	width:100%;
	margin-bottom: 60px
}

.float_box {
	max-width: 1000px;
	width:100%;
	display: block;
	overflow: hidden;
}
.float_box div {
	max-width: 980px;
    width: 100%;
    margin: 0 auto 60px;
    display: block;
    overflow: hidden;
}

.line {
	margin-bottom: 30px;
	max-width: 500px;
	width:100%;
	border: solid 10px #2f2f2f;
}
.jisseki01 {
	margin-bottom: 45px;
}
.jisseki02 {
	margin-bottom: 45px;
}
/*Form*/
form p {
	margin-bottom: 10px;
	text-align: center;
}
.top-register-box .set-width {
    margin: 0px auto 0;
    position: relative;
}

.radio_waku p,
.radio_waku label {
  font:
    1rem 'Fira Sans',
    sans-serif;
}

.radio_waku input {
  margin: 0.4rem;
}

.register-box .set-width {
    max-width: 680px;
}
.set-width {
    width: 100%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 10px;
    padding-right: 10px;
}
.register-box form {
    width: 95%;
    margin: 25px auto 0;
    margin-bottom: 20px;
    max-width: 600px;
}
.register-box form .input-holder {
	margin-bottom: 30px;
}
.form.streak {
    position: relative;
    display: block;
    padding: 30px 0px 30px;
    overflow: hidden;
    background:#00572f;
}
.register-box {
    background: #fff;
}
.bg-form {
	margin-bottom: 20px;
    background: #fff;
    padding: 6px;
    border:solid 10px #eaeaea;
}
.register-box h2 img {
    width: 565px;
    margin-top: -190px;
}
.register-box form {
    width: 85%;
    margin: 20px auto 0;
    margin-bottom: 20px;
    max-width: 600px;
}
.register-box form div {
	margin: 0 auto;
	max-width: 522px;
}
.register-box form div.sns_area {
	text-align: center;
}
.register-box form div.sns_area p {
	font-weight: bold;
	text-align: center;
}
.register-box form ul {
	overflow: hidden;
	padding-left: 0;
}
.register-box form ul li {
	list-style-type: none;
	display: inline-block;
    margin-bottom: 10px;
    margin-left: 10px;
}
.register-box form ul li img {
	max-width: 160px;
	height: auto;
}
.register-box .hush {
    margin-bottom: 15px;
}
.register-box input {
    padding: 15px;
    font-size: 18px;
    border-radius: 5px;
    background: #ebebe6;
}
main.bg_check .container {
	background: #fff;
}
/*select, button, input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    background:none;
    box-shadow: none;
    display: inline-block;
    font-size: 16px;
    padding: 3px;
    width: 100%;
}*/
/*まずはお決まりのボックスサイズ算出をborer-boxに */
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;/*rem算出をしやすくするために*/
}

.terms_txt {
	color: #000 !important;
	font-size: 13px !important;
	margin-top: 30px;
	text-align: center;
	line-height: 1.4 !important;
}
.jisseki_box {
	margin-bottom: 30px;
}
.jisseki_box p {
	margin-bottom: 10px;
	font-size: 30px;
	font-weight: bold;
	text-align: left !important;
}
/*MV*/
.head_line {
	margin: 0 auto;
}
.software-lp .navbar:not(.top-nav-collapse) {
	background: #000;
}
.txt-flow {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    white-space: nowrap;
    font-weight: 600;
    color: rgba(0,0,0,.8);
    text-shadow: 0px 0px 2px rgb(156 233 242), 0px 0px 2px rgb(156 233 242), 0px 0px 2px rgb(156 233 242), 0px 0px 2px rgb(156 233 242), 0px 0px 2px rgb(156 233 242), 0px 0px 2px rgb(156 233 242), 0px 0px 2px rgb(156 233 242);
    background: #fff;
}
.form_ttl {
  color:#fff;
  font-weight: bold;
  text-align: center;
  font-size: 40px !important;
  margin-bottom: 20px;
}
.form_ttl .bg_yellow {
  color:#000;
  background: linear-gradient(to right, #21ff00 0%, #ffff00 100%);
  font-weight: bold;
  font-size: 35px !important;
  padding: 5px 10px;
}
.form-control {
    padding: 25px;
    font-size: 20px;
    width: 100% !important;
    margin: 0 auto;
}
/*footer*/
footer .ft_link ul {
	padding-left: 0;
	margin-bottom: 0;
}
footer .ft_link ul li {
	list-style-type: none;
	display: inline-block;
	margin-right: 25px;
	font-size: 0.9rem;
}
footer.page-footer .footer-copyright {
	background:#000;
}

/*その他*/
.tokuten .text-left {
	max-width: 360px;
	margin: 0 auto;
}
.icon-area .circle-icon {
	padding-bottom: 0 !important;
}

section.ex {
	padding: 0 2%;
}

.box04 {
	max-width: 900px;
    margin: 0 auto;
    padding: 0 20px;
}
.box04 .col-lg-4 {
	margin-bottom: 30px;
	background:#fff;
	opacity: 0.8;
	max-width: 860px;
	-ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
    float: left;
}

.box04 .col-lg-4.voice01 {
	padding: 10px;
}
.box04 .col-lg-4.voice02 {
	padding:30px;
}
.box04 .col-lg-4 .icon-area .circle-icon {
	float: left;
}
.box04 .col-lg-4 .icon-area p {color:#fff;}
.box04 .col-lg-4 .icon-area .mt-1 div {
	float: right;
	width: 74%;
}

.box04 .col-lg-4.voice01 .text-center span {
	background:#000;
	color: #fff;
	padding: 5px 8px;
    margin-left: 10px;
}
.box04 .col-lg-4.voice02 .text-center span {
	background:#000;
	color: #fff;
	padding: 5px 8px;
    margin-left: 10px;
}

.box04 .col-lg-4 .circle-icon {
	margin-bottom: 20px;
}
.box04 .col-lg-4 .circle-icon .icon {
	max-width: 180px;
}
.icon-area .circle-icon.center {
	margin: 0 auto;
	display: block;
}
.bg_jisseki {
	background: url(../img/bg_jisseki.jpg);
    background-size: cover;
}
.bg_jisseki .container {
	padding: 60px;
	overflow: hidden;
}
.bg_jisseki .container .txt div {
	max-width: 860px;
    padding: 60px;
	margin: 0 auto;
	display: block;
}
.bg_jisseki .container .txt div img {
	margin-bottom: 60px;
}
.bg_check .container {padding: 60px;}
.bg_check .container img {margin:30px auto 75px;}
.bg_voice p {
	margin-bottom: 5px;
}
.sub-box {
    padding: 50px 0;
    background: url(../img/bg_mv_01.jpg);
    background-size: cover;
}
.bg_black p {
	color: #fff;
}
.bg_black .container {
	padding:0px 0px 30px 0;
}
.bg_blank {
	padding-top: 60px;
    padding-bottom: 20px;
}
.obi {
	width:100%;
    margin: 0 auto;
    display: block;
}
.video_area {
	margin-bottom: 60px;
    margin-top: 60px;
}
video {
  max-width: 674px;
  width: 100%;
}

@media (max-width: 1021px){
	.h1, h1, .font-weight-bold {font-size: 1.8rem;}
	header {background:none !important;}
	body {background: #000;}
}

@media (min-width: 992px){
	section .box04 .col-lg-4 {
	    -ms-flex: 0 0 48% !important;
	    flex: 0 0 48% !important;
	    max-width: 48% !important;
	}
}
@media (max-width: 991px){
	.carousel-multi-item .carousel-indicators {
	    margin-bottom: -1.5em;
	}
	main .carousel.pointer-event {
	    margin: 65px 60px 90px;
	}
	.carousel-item .view .intro-2 {
	    height: 780px;
	}
	header .carousel-item img {
		max-width: 100% !important;
	}
	.box04 .col-lg-4 .icon-area .mt-1 div {
	    width: 67%;
	}
	.bg_jisseki .container {
		max-width: 940px;
		padding: 40px;
	}
}
@media (max-width: 898px){
	.jisseki_area ul li.left {
		float: none;
		margin: 0 auto;
	    display: block;
	    max-width: 399px;
	}
	.jisseki_area ul li.right {
		float: none;
		margin: 0 auto;
	    display: block;
	    max-width: 399px;
	}
}
@media (min-width: 769px){
	.mv.sp {display: none !important;}
	.sp {display: none !important;}
	.mdb-lightbox [class*=col-] {
	    padding: 0.05rem;
	}
	.carousel-multi-item .col-md-4 {
	    float: left;
	    width: 20%;
	    max-width: 100%;
	}

	footer .col-md-7 {
		flex: 0 0 100%;
	    max-width: 100%;
	    text-align: center;
	}
}

@media (max-width: 768px){
	.pc {display: none !important;}
	.mv.sp {display: inline-block;}
	.sp {display: inline-block !important;}
	p {font-size: 17px !important;}
	.h1, h1, .font-weight-bold {
	    font-size: 1.5rem;
	}
	.mdb-lightbox figure {
	    max-width: 150px;
	    width: 20%;
	}
	.form_ttl .bg_yellow {font-size: 30px !important;}
	header {margin-bottom: 0;}
	main .carousel.pointer-event {
	    margin: 40px 30px 90px;
	}
	.mdb-lightbox [class*=col-] {
	    padding: 0.01rem;
	}
	.set-width {width:90%;}
	.bg_money .container div {
	    background: #000;
	    padding: 45px 30px 5px 30px;
	}
	.bg_blank .container {
	    padding: 20px;
	}
	.ttl01 {margin-bottom: 50px;}
	.ttl11 {
	    margin-top: 20px;
	    margin-bottom: 30px;
	}
	.img06 {margin-top: 0;}
	.img10 {margin-top: 40px;}
	.img11 {margin-top: 40px;}
	.img14 {margin-top: 60px;}
	.img15 {margin-top: 0;}
	.img22 {margin-bottom: 60px;}
	.ttl_form {
	    margin-top: 10px;
	    margin-bottom: 30px;
	}
	.head_ttl {height: auto;}
	.plan01 {padding: 40px 30px 0px;}
	.plan02 {padding: 40px 30px 0px;}
	.plan03 {padding: 40px 30px 0px;}
	.button-004 {max-width: 220px;}
	.form_ttl .bg_yellow {font-size: 30px;}
}
@media (max-width: 640px){
	.button-004 {
	    max-width: 460px;
	}
}

@media (max-width: 599px){
	.form_ttl {
		line-height: 1.3em !important;
	}
	form {
	    padding: 30px 20px;
	}
}
@media (min-width: 541px){
	.pc {display: inline-block;}
	.sp {display: none;}
	.pc540 {display: inline-block;}
	.sp540 {display: none;}
}
@media (max-width: 540px){
	.pc {display: none;}
	.sp {display: inline-block;}
	.f30 {font-size: 22px !important;}
	.f40 {font-size: 25px !important;}
	.pc540 {display: none;}
	.sp540 {display: inline-block;}
	.countdown {font-size: 30px;}
	.timer {
	    background: #630000;
	    padding: 20px 40px;
	}
	.timer p.ttl {margin-top: 0;}
	body p {
	    font-size: 17px !important;
	    margin-bottom: 50px;
	}
	.container p:last-child {
		margin-bottom: 0;
	}
	.bg_black .container {
        padding: 30px 20px 10px 20px;
    }
	.bg_black .container.form_area {
		padding-bottom: 35px;
		padding-top: 20px;
	}
	.container {
    	padding-top: 40px;
    }
    form p.text-center.txt_red {
    	margin-bottom: 10px;
    }
    form p {font-size: 15px !important;}
	.mv.pc {display: none !important;}
	.wrap p {font-size: 30px !important;}
	.streak {height: 200px;}
	.bg_blank {
	    padding-top: 30px;
	    padding-bottom: 0px;
	}
	.bg_black {
	    background: #020a16;
	    padding-bottom: 0px !important;
	}
	body form p {
		margin-bottom: 0;
	}
	form {
	    max-width: 490px;
	    padding: 20px 20px 0px 20px;
	}
	.bg_uma {
	    bottom: 0;
	    height: calc(0% + 25.909224vw);
	}
	.bg_black .container {
	    padding: 30px auto 30px;
	}
	.register-box form {
		margin-bottom: 0;
		width: 100%;
	}
	.register-box form p {margin-bottom: 30px;}
	.bg-form {
		padding: 0 20px 10px;
	    max-width: 450px;
	    margin: 0 auto;
	}
	.img12 {
	    margin-top: 70px;
	    margin-bottom: 20px;
	}
	.img13 {
	    margin-top: 70px;
	    margin-bottom: 20px;
	}
	.img14 {
	    margin-top: 50px;
	    margin-bottom: 20px;
	}
	.img15 {
        margin-top: 20px;
    }
	p.p01 {
	    font-size: 18px !important;
	    padding: 10px 30px 10px;
	}
	p.p02 {
	    font-size: 18px !important;
	    padding: 10px 30px 10px;
	}
	span.p01 {
	    font-size: 18px !important;
	    padding: 10px 30px 10px;
	}
	span.p02 {
	    font-size: 18px !important;
	    padding: 10px 30px 10px;
	}
	.plan01 {
        padding: 40px 30px 40px;
    }
    .plan02 {
        padding: 40px 30px 40px;
    }
    .plan03 {
        padding: 40px 30px 40px;
    }
	.box04 {
	    padding: 0 0px;
	}
	.box04.pt60 {
		padding-top: 0 !important;
	}
	.box04 .col-lg-4 {
	    margin-bottom: 30px;
	    max-width: 860px;
	    -ms-flex: 0 0 50%;
	    flex: 0 0 100%;
	    max-width: 100%;
	}
	.ttl {
	    margin-top: 40px;
	    margin-bottom: 60px;
	}
	.ttl11 {
        margin-top: 60px;
        margin-bottom: 30px;
    }
	.head div.txt_area {
	    max-width: 580px;
	    margin: 45px auto 0;
	    padding: 0 30px 20px;
	}
	.bg_blank .container {
	    padding: 0 15px;
	}
	button {
		font-size: 20px;
		margin: 30px 0;
	}
	form button {
		margin: 0px 0;
	}
	.form.streak {
	    padding: 20px 0px 30px;
	}
	.register-box input {
	    padding: 10px;
	    font-size: 15px;
	}
	.bg-form {
	    border: solid 6px #eaeaea;
	}
	.register-box form .input-holder {
	    margin-bottom: 15px;
	}
	.register-box form {
	    margin: 20px auto 0;
	}
	.register-box form p {
	    margin-bottom: 10px;
	}
	.img04 {
		margin-top: 10px;
	    margin-bottom: 40px;
	}
	.img05 {
	    margin: 60px 0;
	}
	.img06 {
	    margin: 0;
	}
	.img07 {
		margin: 30px 0;
	}
	.img08 {
	    margin-top: 45px;
	}	
	.img09 {
	    margin: 0px 0;
	}
	.img10 {
	    margin: 30px 0;
	}
	.ttl01 {
	    width: 100%;
	    margin-bottom: 0px;
	    padding-bottom: 30px;
	}
	.ttl02 {
	    width: 100%;
	    margin-bottom: 20px;
	}
	.ttl03 {
	    margin-top: 0px;
	    margin-bottom: 30px;
	    padding-bottom: 0 !important;
	}
	.ttl04 {
	    margin-top: 60px;
	    margin-bottom: 30px;
	}
	.ttl06 {
	    margin-top: 20px;
	    margin-bottom: 30px;
	}
	.ttl07 {
	    margin-top: 0px !important;
	    margin-bottom: 30px;
	}
	.list {margin: 60px auto;}
	.list p {font-size: 22px ! important;}
	.voice_box img.vo01 {
    	width: 50%;
    }
	.voice_box .name {
	    padding: 15px 15px;
	    font-size: 18px !important;
	    margin-bottom: 25px;
	}
	.voice_box .v_ttl {font-size: 24px;}
	form p.text-center.txt_red {
	    font-size: 20px !important;
	}
	ul.waku li {font-size: 17px;}
	#btn_area {border: 8px #e1e1e1 solid;}
	.img02.block {display: none;}
	.thanks_page .center {
	    background: #0e4f19;
	    padding: 40px 10px 40px;
	}
	.thanks_page form {
        max-width: 490px;
        padding: 0px;
    }
    .thanks_page button {
    	margin-bottom: 0px;
    }
    .thanks_page .center p:first-child {
    	margin-bottom: 15px;
    }
    label.aa input[type="checkbox"] {
      display: none;
    }
    label.aa {
      position: relative;
      padding-left: 13px; /* チェックボックスのスペース */
      cursor: pointer;
      display: inline-block;
    }
    label.aa::before {
      content: '';
      position: absolute;
      left: 0.8px;
      top: 12px;
      width: 11px;
      height: 11px;
      background-color: #9d9d9d; /* チェックなしの背景色 */
      border: 1px solid #ccc;
      border-radius: 1.5px;
      transition: background-color 0.3s ease;
    }
}

@media (max-width: 446px){
	.float_box .left {
		float: none;
		max-width: 220px;
		margin: 0 auto 10px;
		display: block;
	}
	.float_box .right {
		float: none;
		max-width: 220px;
		margin: 0 auto 10px;
		display: block;
	}
	.float_box div {
		margin-bottom: 0;
	}
}
@media (min-width: 415px){
	.img_support {
		max-width: 172px;
		margin-right: 20px;
	}
}


@media (max-width: 414px){
	body p {font-size: 14.5px !important;}
	.h1, h1, .font-weight-bold {
	    font-size: 1.3rem;
	}
	h2 {
		font-size: 1rem;
		line-height: 1.3em;
	}
	.pt-5, .py-5 {
    	padding-top: 1rem!important;
	}
	.mb-4, .my-4 {
		margin-top:0 !important;
	    margin-bottom: 0.4rem!important;
	}
	.countdown {
        font-size: 24px;
    }
    .container {
        padding-top: 0px;
        padding-bottom: 10px;
    }
    table {margin-bottom: 30px;}
	.bg_black {
		padding-top: 0px !important;
	}
	.form_ttl .bg_yellow {
        font-size: 25px !important;
        line-height: 1.2em;
    }
    .form_ttl .bg_yellow {font-size: 22px !important;}
    .popup_txt {
    	margin-top: 30px;
		margin-bottom: 20px !important;
	}
	.wrap p {
        font-size: 20px !important;
        margin-bottom: 25px;
        margin-top: 10px;
    }
    .streak {
        height: 150px;
    }
	.ttl {
	    margin-top: 40px;
	}
	.ad {font-size: 15px;}
	header {
		margin-bottom: 0;
	}
	.bg_blank {padding-bottom: 0;}
	.head_grey {padding: 45px 0 10px;}
	header .flex-center {
	    height: 70% !important;
	}
	.jisseki_area .jisseki_box p {
	    background: #413d3d;
	    padding: 5px 5px 5px 10px;
	}
	#defaultContactFormEmail {margin-bottom: 20px !important;}
	form.p-5 {padding:2rem 1rem !important;}
	.register-box form .input-holder {
	    margin-bottom: 15px;
	}
    ul.waku li {
        font-size: 15px;
    }
    .waku.thanks li {
    	font-size: 14px !important;
    }
    .img01 {margin-top: 20px;}
	.img02 {
	    max-width: 497px;
	    width: 100%;
	    margin-bottom: 30px;
	}
	.img03 {
	    width: 100%;
	    margin-bottom: 30px;
	}
	.img04 {
	    margin-bottom: 25px;
	}
	.img06 {
	    margin-top: 0px;
	    margin-bottom: 30px;
	}
	.img07 {
		margin-top:0;
		margin-bottom: 30px;
	}
	.img10 {
        margin: 20px 0;
    }
    .img11 {
	    margin-top: 10px;
	    margin-bottom: 40px;
	}
	.img12 {
        margin-top: 40px;
        margin-bottom: 20px;
    }
    .img13 {
        margin-top: 50px;
        margin-bottom: 20px;
    }
    .img18 {
	    margin-top: 20px;
	}
    .img20 {
	    max-width: 800px;
	    width: 100%;
	    margin-top: 20px;
	    margin-bottom: 0px;
	}
    .ttl01 {
		padding-bottom: 30px;
	}
	.ttl02 {
	    margin-bottom: 0px;
	    padding-bottom: 30px;
	}
	.ttl03 {
	    padding-top: 50px;
	}
	.ttl04 {
	    margin-top: 40px;
	    margin-bottom: 30px;
	}
	.ttl05 {
	    margin-top: 0px;
	    margin-bottom: 0px;
	}
	.ttl06 {
	    margin-top: 20px;
	    margin-bottom: 20px;
	}
	.ttl07 {
	    margin-top: 40px;
	    margin-bottom: 20px;
	}
	.ttl09 {
	    margin-bottom: 20px;
	}
	.ttl11 {
	    margin-top: 50px;
	    margin-bottom: 20px;
	}
	.plan01 {
	    padding: 30px 30px 30px;
	    margin: 30px 0 0px;
	}
	.plan02 {
	    padding: 30px 30px 30px;
	    margin: 30px 0 40px;
	}
	.plan03 {
	    padding: 30px 30px 30px;
	    margin: 30px 0 40px;
	}
	p.p01 {
	    padding: 10px 10px 10px;
	    margin-top: 20px;
	    font-size: 15px !important;
	}
	p.p02 {
	    padding: 10px 10px 10px;
	    margin-top: 20px;
	    margin-bottom: 15px !important;
	    font-size: 15px !important;
	}
	span.p01 {
	    padding: 8px 8px 5px;
	    font-size: 15px !important;
	}
	span.p02 {
        padding: 8px 8px 5px;
        font-size: 15px !important;
    }
	.jisseki {
       margin-bottom: 0px !important;
    }
	.bg-form {padding: 0 20px 0px;}
	.bg_black .container {
	    padding: 20px 20px 20px 20px;
	}
	.bg_blank .container {
	    padding: 30px 15px 0px 15px;
	}
	.register-box input {
		font-size: 14px;
		padding: 10px;
	}
	.register-box form ul li img {
	    max-width: 120px;
	    height: auto;
	}
	.input-holder {margin-bottom: 10px;}
	.bottun-holder {margin-bottom: 0;}
	.register-box form p {
	    margin-bottom: 15px;
	}
	.head_red {
	    height: 100px;
	}
	.bg_blank {
	    padding-top: 0px !important;
	    margin-bottom: 0;
	}
	footer .ft_link ul li {
	    margin-right: 6px;
	    font-size: 0.7rem;
	}
	.ttl_form {
	    margin-top: 10px;
	    margin-bottom: 20px;
	}
	form {
        max-width: 490px;
        padding: 15px 20px 20px 20px;
    }
    form label {font-size: 16px;}
	.form.streak {
	    padding: 10px 0px 20px;
	}
	.form.streak p:last-child {
		margin-bottom: 20px;
		text-align: center;
	}
	.voice_box {
	    padding: 20px 20px 30px;
	}
	.voice_box .name {
        font-size: 15px !important;
    }
    .voice_box .v_ttl {
        font-size: 20px;
    }
	#gaiyou dt {font-size: 16px;}
	#gaiyou dd {
	    font-size: 14px;
	    margin-bottom: 20px;
	}
	#gaiyou dd .txt_red {
	    font-size: 20px;
	}
	#btn_area p {
	    font-size: 16px !important;
	}
	form p.bold {
	    font-size: 17px !important;
	    margin-bottom: 10px;
	}
	.caution {
	    font-size: 11px !important;
	}
	label.aa::before {
        top: 8px;
    }
	a.entry_btn {line-height: 40px;}
	.thanks_ttl {
	    margin-bottom: 20px;
	}
	body.law_page #footer p {
	    text-align: center;
	    font-size: 10px !important;
	    margin-bottom: 5px !important;
	}
}


@media (max-width: 375px){
	body p {
        font-size: 14px !important;
        margin-bottom: 30px;
    }
	.bg_black .container {
        padding: 15px 15px 30px 15px;
    }
	.h1, h1, .font-weight-bold {
	    font-size: 1.2rem;
	}
	.ml-3, .mx-3 {
		margin-left:0 !important;
		margin-right:0 !important;
	}
	main.bg_check .container {
	    background: #fff;
	    max-width: 340px;
	}
	.register-box h2 img {
	    width: 565px;
	    margin-top: -150px;
	}
	.register-box {
	    padding: 150px 0 10px;
	}
	.bg_grass .container .txt div {
	    padding: 20px;
	}
	.register-box form ul li img {
	    max-width: 160px;
	    height: auto;
	}
	.list {
        padding: 25px 15px 20px 10px;
        margin: 30px auto;
    }
    .voice_box {
        padding: 20px 10px 30px;
    }
    .voice_box .name {
        padding: 10px 10px;
        font-size: 15px !important;
        margin-bottom: 20px;
        line-height: 1.4em;
    }
	.register-box {
	    padding: 20px 0 50px;
	}
	.wrap_arrow {
	    max-width: 90px;
	    margin: 25px auto 0;
	}
	.box04 .col-lg-4 .circle-icon .icon {
	    max-width: 140px;
	}
	.register-box form p.f30 {font-size: 20px !important;}
	.register-box form {
	    margin: 20px auto 0;
	}
	input {
	    background: #dddddd !important;
	    font-size: 22px !important;
	}
	table th, table td {
	    font-size: 13px;
	}
	.ttl01 {
		margin-top: 30px;
		max-width: 587px;
	}
	.ttl03 {
        margin-top: 0px;
    }
	.img03 {
    	margin-top: 0px;
    	max-width: 587px;
    }
	.img05 {
        margin: 40px 0;
    }
    .img07 {
        margin-bottom: 40px;
        margin-top: 0px;
    }
    .img10 {
        margin: 30px 0;
    }
	.bg_blank .container {
	    padding: 20px 10px 0px 10px;
	}
	.set-width {
	    padding-left: 0px;
	    padding-right: 0px;
	}
	.ad {
	    padding: 20px;
	}
	.koukai_waku {
	    border: solid 3px #b3f3c1;
	}
	.waku_secret {
	    border: solid 3px #ff72ee;
	}
	.merit_waku {
        font-size: 14px;
    }
	.bg-form {
	    border: solid 8px #eaeaea;
	}
	ul.heart_waku {
	    border: solid 4px #ea315e;
	}
	ul.heart_waku li {
        font-size: 16px;
    }
    .plan01 {
        padding: 30px 20px 30px;
    }
    .plan02 {
        padding: 30px 20px 30px;
    }
    .plan03 {
        padding: 30px 20px 30px;
    }
    form .sm_red {font-size: 14px;}
    button {
    	margin: 30px 0;
        padding: 10px;
    }
	footer {font-size: 0.7em;}
	footer .py-4 {
		padding-top: 0.7rem!important;
		padding-bottom: 0.7rem!important;
	}
	footer .py-3 {
		padding-top: 0.5rem!important;
		padding-bottom: 0.5rem!important;
	}
	.btn a button {
        font-size: 15px !important;
    }
    .form_ttl {
        line-height: 1em !important;
    }
    form {
        max-width: 490px;
        padding: 10px 10px 20px 10px;
    }
}

@media (max-width: 320px){
	.countdown {font-size: 19px;}
	.container p:last-child {
		margin-bottom: 0 !important;
	}
	section.mb-5 {margin-bottom: 15px !important;}
	ul.schedule_list {
        padding: 10px 10px 1px 10px;
    }
	.ttl02 {
	    margin-bottom: 10px;
	}
	.img22 {
        margin-bottom: 40px;
    }
	.jisseki {
	    margin-bottom: 20px;
	}
	.register-box form p.f30 {
	    font-size: 17px !important;
	}
	.register-box h2 img {
	    width: 565px;
	    margin-top: -130px;
	}
	.register-box {
	    padding: 130px 0 0px;
	}
	.register-box {
	    padding: 0px 0 0px;
	}
	.list {
        padding: 15px 15px 20px 10px;
        margin: 0 auto 45px;
    }
    .ttl03 {padding-top: 50px;}
	.ttl04 {
		margin-top: 10px;
		margin-bottom: 20px;
	}
	.voice_box .v_ttl {
        font-size: 17px;
    }
    .waku_secret li {
        font-size: 14px;
    }
    .bg_money .container div {
        padding: 30px 30px 30px 30px;
    }
	button {
	    font-size: 16px;
	}
	.bg-form {
	    padding: 0 10px;
	    max-width: 410px;
	    margin: 0 auto;
	    border: solid 5px #d8d8d8;
	}
	.register-box form {
	    margin: 15px auto 0;
	}
	.form.streak {
        padding: 12px 0px 30px !important;
    }
	.bg_blank .container {
	    padding: 30px 10px;
	}
	.form.streak.timer02 {
		padding: 20px 0px 5px !important;
	}
	.form_ttl .bg_yellow {
        font-size: 19px !important;
    }
    form p.text-center.txt_red {
        font-size: 16px !important;
    }
    form p.bold {
        font-size: 15px !important;
    }
    form p.get_btn {font-size: 14px !important;}
    .form-control {padding: 20px;}
    form b {padding: 6px;}
    .thanks_page button {margin-bottom: 20px;}
    .thanks_page form {
        max-width: 500px;
        padding: 0px;
    }
}

/*デバイスごとの改行*/
@media screen and (max-width: 768px) {
	br.none_768 {display: none !important;}
}
@media screen and (min-width: 541px) {
	br.in_540 {display: none !important;}
}
@media screen and (max-width: 540px) {
	br.none_540 {display: none !important;}
	br.in_540 {display: inline-block !important;}
}
@media screen and (min-width: 415px) {
	br.in_414 {display: none !important;}
}
@media screen and (max-width: 414px) {
	br.none_414 {display: none !important;}
	br.in_414 {display: inline-block !important;}
}
@media screen and (max-width: 375px){
	br.none_375 {display: none !important;}
}
@media screen and (min-width: 321px){
	br.none_320 {display: inline-block;}
}
@media screen and (max-width: 320px){
	br.none_320 {display: none !important;}
}

.modal {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.4); /* 背景色 */
    opacity: 0; /* 初期状態では透明 */
    visibility: hidden; /* 初期状態では不可視 */
    transition: opacity 0.5s, visibility 0.5s; /* アニメーション効果 */
}

/* モーダルの画像スタイル */
.modal-content {
    display: block;
    width: 80%;
    max-width: 700px;
}

/* モーダルの閉じるボタン */
#close {
    position: absolute;
    top: 15px;
    right: 35px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    cursor: pointer;
}

/* ココから下は画像を並べてる部分のスタイルなので
　　モーダルとは直接関係がない部分です　　　　　 */
/********************************************/
.wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
}

.img  {
    flex-shrink: 0;
    width: 150px;
    height: 150px;
    padding: 20px;
    border: 1px solid #000;
    cursor: pointer;
    transition: opacity 0.3s ;
}

.img:hover {
    opacity: 0.7;
}

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