@charset "utf-8";
/*
/////////////////////////////////////
汎用クラス
/////////////////////////////////////
*/

html{ height:100%; scroll-behavior: smooth; }

/*reCAPTCHAマークを消す*/
.grecaptcha-badge { visibility: hidden; }

/*bootstrap*/

.wide-container { width: 100%; margin: 0 auto; padding: 0 10% 0 10%; }
.home-container { width: 100%; margin: 0 auto; padding: 0 0 0 0; }
.page-container { width: 100%; margin: 0 auto; padding: 0 5% 0 1%; }
.foot-container { width: 90%; margin: 0 auto; }
.narrow-container { width: 80%; margin: 0 auto; }/*container内で使う前提*/

@media screen and (max-width: 991px) {
.page-container,
.home-container,
.wide-container {
 width: 100%;
 padding-right: 15px;
 padding-left: 15px;
 margin-right: auto;
 margin-left: auto;
}
.foot-container { width: 86%; }
.narrow-container { width: 100%; }
}
@media screen and (max-width: 767px) {
.page-container,
.home-container,
.wide-container {
 width: 100%;
 padding-right: 15px;
 padding-left: 15px;
 margin-right: auto;
 margin-left: auto;
}
.foot-container { width: 86%; }
.narrow-container { width: 100%; }
}

img.img-responsive { max-width: 100%; }
img.img-fluid, img.img-responsive { display: inline;}
img.img-fluid-small, img.img-responsive-small { max-width: 35%;}

img.contain {
object-fit: contain;
font-family: 'object-fit: contain;' }

img.fit {
width: 100%;
height: 50vh;
object-fit: cover;
object-position: center center;
font-family: 'object-fit: cover; object-position: center center;' }

/*スマホ改行*/

br.xs-only { display: none; }
span.pc-only { margin-left: 5px; }
@media screen and (max-width: 767px) {
br.xs-only { display: inline; }
span.pc-only { display: none; }
}

br.sm-only { display: none; }
@media screen and (max-width: 1600px) {
br.sm-only { display: inline; }
}


br.xl-only { display: none; }
@media (min-width: 1200px) {
br.xl-only { display: inline; }
}

/*スマホ改行*/

/*link*/

.alpha:hover { filter: alpha(opacity=70); opacity: 0.7; }
.underline { text-decoration: underline !important; }

/*clearfix*/

.cf:after {
content: ".";
display: block;
clear: both;
height: 0;
visibility: hidden;
}

.cf { min-height: 1px; }
* html .cf { height: 1px;}

.clear {	clear: both;}

.fl-right { float: right; }
.fl-left { float: left; }
.align-left { text-align: left; }
.align-right { text-align: right; }
.align-center { text-align: center; }

.nobr { white-space: nowrap; }

.bold {	font-weight: bold !important; }

.tomei { filter: alpha(opacity=20); opacity: 0.2; }

.weight100 { font-weight: 100; }
.weight200 { font-weight: 200; }
.weight300 { font-weight: 300; }
.weight400 { font-weight: 400; }
.weight500 { font-weight: 500; }
.weight600 { font-weight: 600; }
.weight700 { font-weight: 700; }
.weight800 { font-weight: 800; }
.weight900 { font-weight: 900; }

/*角丸*/
.kadomaru {
border-radius: 10px;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
}

/*テーブル関係*/

table{ border-collapse:collapse;clear:both; }

/*margin*/

.mt-0				{ margin-top: 0px !important; }
.mt-5				{ margin-top: 5px !important; }
.mt-10				{ margin-top: 10px !important; }
.mt-15				{ margin-top: 15px !important; }
.mt-20				{ margin-top: 20px !important; }
.mt-25				{ margin-top: 25px !important; }
.mt-30				{ margin-top: 30px !important; }
.mt-35				{ margin-top: 35px !important; }
.mt-40				{ margin-top: 40px !important; }
.mt-45				{ margin-top: 45px !important; }
.mt-50				{ margin-top: 50px !important; }
.mt-55				{ margin-top: 55px !important; }
.mt-60				{ margin-top: 60px !important; }
.mt-65				{ margin-top: 65px !important; }
.mt-70				{ margin-top: 70px !important; }
.mt-75				{ margin-top: 75px !important; }
.mt-80				{ margin-top: 80px !important; }

.mb-0				{ margin-bottom: 0px !important; }
.mb-5				{ margin-bottom: 5px !important; }
.mb-10				{ margin-bottom: 10px !important; }
.mb-15				{ margin-bottom: 15px !important; }
.mb-20				{ margin-bottom: 20px !important; }
.mb-25				{ margin-bottom: 25px !important; }
.mb-30				{ margin-bottom: 30px !important; }
.mb-35				{ margin-bottom: 35px !important; }
.mb-40				{ margin-bottom: 40px !important; }
.mb-45				{ margin-bottom: 45px !important; }
.mb-50				{ margin-bottom: 50px !important; }
.mb-55				{ margin-bottom: 55px !important; }
.mb-60				{ margin-bottom: 60px !important; }
.mb-65				{ margin-bottom: 65px !important; }
.mb-70				{ margin-bottom: 70px !important; }
.mb-75				{ margin-bottom: 75px !important; }
.mb-80				{ margin-bottom: 80px !important; }

.mr-0				{ margin-right: 0px !important; }
.mr-5				{ margin-right: 5px !important; }
.mr-10				{ margin-right: 10px !important; }
.mr-15				{ margin-right: 15px !important; }
.mr-20				{ margin-right: 20px !important; }
.mr-25				{ margin-right: 25px !important; }
.mr-30				{ margin-right: 30px !important; }
.mr-35				{ margin-right: 35px !important; }
.mr-40				{ margin-right: 40px !important; }
.mr-45				{ margin-right: 45px !important; }
.mr-50				{ margin-right: 50px !important; }
.mr-55				{ margin-right: 55px !important; }
.mr-60				{ margin-right: 60px !important; }
.mr-65				{ margin-right: 65px !important; }
.mr-70				{ margin-right: 70px !important; }
.mr-75				{ margin-right: 75px !important; }
.mr-80				{ margin-right: 80px !important; }

.ml-0				{ margin-left: 0px !important; }
.ml-5				{ margin-left: 5px !important; }
.ml-10				{ margin-left: 10px !important; }
.ml-15				{ margin-left: 15px !important; }
.ml-20				{ margin-left: 20px !important; }
.ml-25				{ margin-left: 25px !important; }
.ml-30				{ margin-left: 30px !important; }
.ml-35				{ margin-left: 35px !important; }
.ml-40				{ margin-left: 40px !important; }
.ml-45				{ margin-left: 45px !important; }
.ml-50				{ margin-left: 50px !important; }
.ml-55				{ margin-left: 55px !important; }
.ml-60				{ margin-left: 60px !important; }
.ml-65				{ margin-left: 65px !important; }
.ml-70				{ margin-left: 70px !important; }
.ml-75				{ margin-left: 75px !important; }
.ml-80				{ margin-left: 80px !important; }

/*padding*/

.pt-0				{ padding-top: 0px !important; }
.pt-5				{ padding-top: 5px !important; }
.pt-10				{ padding-top: 10px !important; }
.pt-15				{ padding-top: 15px !important; }
.pt-20				{ padding-top: 20px !important; }
.pt-25				{ padding-top: 25px !important; }
.pt-30				{ padding-top: 30px !important; }
.pt-35				{ padding-top: 35px !important; }
.pt-40				{ padding-top: 40px !important; }
.pt-45				{ padding-top: 45px !important; }
.pt-50				{ padding-top: 50px !important; }
.pt-55				{ padding-top: 55px !important; }
.pt-60				{ padding-top: 60px !important; }
.pt-65				{ padding-top: 65px !important; }
.pt-70				{ padding-top: 70px !important; }
.pt-75				{ padding-top: 75px !important; }
.pt-80				{ padding-top: 80px !important; }

.pb-0				{ padding-bottom: 0px !important; }
.pb-5				{ padding-bottom: 5px !important; }
.pb-10				{ padding-bottom: 10px !important; }
.pb-15				{ padding-bottom: 15px !important; }
.pb-20				{ padding-bottom: 20px !important; }
.pb-25				{ padding-bottom: 25px !important; }
.pb-30				{ padding-bottom: 30px !important; }
.pb-35				{ padding-bottom: 35px !important; }
.pb-40				{ padding-bottom: 40px !important; }
.pb-45				{ padding-bottom: 45px !important; }
.pb-50				{ padding-bottom: 50px !important; }
.pb-55				{ padding-bottom: 55px !important; }
.pb-60				{ padding-bottom: 60px !important; }
.pb-65				{ padding-bottom: 65px !important; }
.pb-70				{ padding-bottom: 70px !important; }
.pb-75				{ padding-bottom: 75px !important; }
.pb-80				{ padding-bottom: 80px !important; }

.pr-0				{ padding-right: 0px !important; }
.pr-5				{ padding-right: 5px !important; }
.pr-10				{ padding-right: 10px !important; }
.pr-15				{ padding-right: 15px !important; }
.pr-20				{ padding-right: 20px !important; }
.pr-25				{ padding-right: 25px !important; }
.pr-30				{ padding-right: 30px !important; }
.pr-35				{ padding-right: 35px !important; }
.pr-40				{ padding-right: 40px !important; }
.pr-45				{ padding-right: 45px !important; }
.pr-50				{ padding-right: 50px !important; }
.pr-55				{ padding-right: 55px !important; }
.pr-60				{ padding-right: 60px !important; }
.pr-65				{ padding-right: 65px !important; }
.pr-70				{ padding-right: 70px !important; }
.pr-75				{ padding-right: 75px !important; }
.pr-80				{ padding-right: 80px !important; }

.pl-0				{ padding-left: 0px !important; }
.pl-5				{ padding-left: 5px !important; }
.pl-10				{ padding-left: 10px !important; }
.pl-15				{ padding-left: 15px !important; }
.pl-20				{ padding-left: 20px !important; }
.pl-25				{ padding-left: 25px !important; }
.pl-30				{ padding-left: 30px !important; }
.pl-35				{ padding-left: 35px !important; }
.pl-40				{ padding-left: 40px !important; }
.pl-45				{ padding-left: 45px !important; }
.pl-50				{ padding-left: 50px !important; }
.pl-55				{ padding-left: 55px !important; }
.pl-60				{ padding-left: 60px !important; }
.pl-65				{ padding-left: 65px !important; }
.pl-70				{ padding-left: 70px !important; }
.pl-75				{ padding-left: 75px !important; }
.pl-80				{ padding-left: 80px !important; }

/* ----- FONTSIZE ---- */

.text-50 { font-size: 50% !important; }
.text-60 { font-size: 60% !important; }
.text-70 { font-size: 70% !important; }
.text-80 { font-size: 80% !important; }
.text-90 { font-size: 90% !important; }
.text-100 { font-size: 100% !important; }
.text-110 { font-size: 110% !important; }
.text-120 { font-size: 120% !important; }
.text-130 { font-size: 130% !important; }
.text-140 { font-size: 140% !important; }
.text-150 { font-size: 150% !important; }
.text-160 { font-size: 160% !important; }
.text-170 { font-size: 170% !important; }
.text-180 { font-size: 180% !important; }
.text-190 { font-size: 190% !important; }
.text-200 { font-size: 200% !important; }
.text-210 { font-size: 210% !important; }
.text-220 { font-size: 220% !important; }
.text-230 { font-size: 230% !important; }
.text-240 { font-size: 240% !important; }
.text-250 { font-size: 250% !important; }
.text-260 { font-size: 260% !important; }
.text-270 { font-size: 270% !important; }
.text-280 { font-size: 280% !important; }
.text-290 { font-size: 290% !important; }
.text-300 { font-size: 300% !important; }
.text-310 { font-size: 310% !important; }
.text-320 { font-size: 320% !important; }
.text-330 { font-size: 330% !important; }
.text-340 { font-size: 340% !important; }
.text-350 { font-size: 350% !important; }
.text-360 { font-size: 360% !important; }
.text-370 { font-size: 370% !important; }
.text-380 { font-size: 380% !important; }
.text-390 { font-size: 390% !important; }
.text-400 { font-size: 400% !important; }
.text-500 { font-size: 500% !important; }

/*font-color*/

.fc-white { color: rgba(255,255,255,1); }
.fc-white-9 { color: rgba(255,255,255,0.9); }
.fc-white-8 { color: rgba(255,255,255,0.8); }
.fc-white-7 { color: rgba(255,255,255,0.7); }
.fc-white-6 { color: rgba(255,255,255,0.6); }
.fc-white-5 { color: rgba(255,255,255,0.5); }
.fc-white-4 { color: rgba(255,255,255,0.4); }
.fc-white-3 { color: rgba(255,255,255,0.3); }
.fc-white-2 { color: rgba(255,255,255,0.2); }
.fc-white-1 { color: rgba(255,255,255,0.1); }

.fc-black { color: rgba(0,0,0,1); }
.fc-black-9 { color: rgba(0,0,0,0.9); }
.fc-black-8 { color: rgba(0,0,0,0.8); }
.fc-black-7 { color: rgba(0,0,0,0.7); }
.fc-black-6 { color: rgba(0,0,0,0.6); }
.fc-black-5 { color: rgba(0,0,0,0.5); }
.fc-black-4 { color: rgba(0,0,0,0.4); }
.fc-black-3 { color: rgba(0,0,0,0.3); }
.fc-black-2 { color: rgba(0,0,0,0.2); }
.fc-black-1 { color: rgba(0,0,0,0.1); }


/* 点滅 */
.blinking{
	-webkit-animation:blink 1.5s ease-in-out infinite alternate;
    -moz-animation:blink 1.5s ease-in-out infinite alternate;
    animation:blink 1.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;}
}