/* A Modern CSS Reset */
*,*::before,*::after{box-sizing:border-box}ul[class],ol[class]{padding:0}body,h1,h2,h3,h4,h5,h6,p,ul[class],ol[class],figure,blockquote,dl,dd{margin:0}body{min-height:100vh;scroll-behavior:smooth;/*text-rendering:optimizeSpeed;*/line-height:2}ul[class],ol[class]{list-style:none}a:not([class]){/*text-decoration-skip-ink:auto*/}img{max-width:100%;display:block}article>*+*{margin-top:1rem}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}


html { }
body { font-size:1rem; font-style: normal; font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; line-height:1.75; color:#000; background:#fff; position:relative; font-feature-settings:"palt"; padding:0; }
body.in-iframe .article {
    display: flex;
    flex-direction: column;
    padding: 1.4rem 1.25rem 1.25rem 1.25rem !important;
}
.in-iframe header,
.in-iframe footer {
  display: none !important;
}

body.in-iframe .cate_title { order: 1;}
body.in-iframe .main_img { order: 2; }
body.in-iframe .page_title { order: 3; }
body.in-iframe .date { order: 4; }
body.in-iframe .space_textarea { order: 5; }
body.in-iframe .file_content { order: 6; }

a { color:#227751; text-decoration: underline; }
a.gray { color:#707070; }
a:hover, a:focus { color: #73AEDF; text-decoration:underline; }
a:visited { color:#4674B2;}

.tc { text-align: center; }
.tr { text-align: right; }
.tl { text-align: left; }
.clear { clear:both; }
.f_ll { font-size:1.25rem; }
.f_l { font-size:1.125rem; }
.f_m { font-size:1rem; }
.f_s { font-size:0.875rem; }
.f_ss { font-size:0.75rem; }
.f_sss { font-size:0.625rem; }
.f_b { font-weight:bold !important; }
.f_n { font-weight:normal !important; }
.l_s { letter-spacing: normal; }

.red {color:#F00;}
.blue { color:#50A0D7;}
.orange { color:#F3BC50;}
.gray { color:#707070;}
.maroon { color:#800000; }
.dark-red-brown { color: #75140C; }
.black { color: #000 !important; }

p { margin-bottom: 1rem; text-align: justify; }
hr { width: 100%; background: none; border: none; border-top: 1px solid rgba(0,0,0,0.1); margin:1rem 0; }
hr.dot { width: 100%; background: none; border: none; border-top: 1px dotted rgba(0,0,0,0.1); margin:1rem 0; }

.anchor { height:4rem; margin-top:-4rem; position:absolute; z-index:-10; width:1px; }

.flex { display:flex; flex-flow:row wrap; justify-content:space-between; position: relative; }
.flex.aic { align-items: center; }
.flex.aifs { align-items: flex-start; }
.flex.aife { align-items: flex-end; }
.flex.jcfs { justify-content: flex-start; }
.flex.jcfe { justify-content: flex-end; }
.flex.jcc { justify-content: center; }

@font-face {
    font-family: 'YuGothic-B';
    src: url('/fonts/YuGothic/fonts/yugothib.eot?#iefix') format('embedded-opentype'),
    url('/fonts/YuGothic/yugothib.woff2') format('woff2'),
    url('/fonts/YuGothic/yugothib.woff') format('woff'),
    url('/fonts/YuGothic/myfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'YuGothic-R';
    src: url('/fonts/YuGothic/yu-gothic-regular.eot?#iefix') format('embedded-opentype'),
    url('/fonts/YuGothic/yu-gothic-regular.woff2') format('woff2'),
    url('/fonts/YuGothic/yu-gothic-regular.woff') format('woff'),
    url('/fonts/YuGothic/yu-gothic-regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

.nofu .article {
    font-feature-settings: normal;
}

.information-wrapper{
    display: flex;
    flex-direction: column;
    height: calc(100vh + 11rem - 63px);
    box-sizing: border-box;
}

.gyosei-wrapper{
    display: flex;
    flex-direction: column;
    height: calc(100vh - 11rem - 6rem - 63px);
    box-sizing: border-box;
}

.event-wrapper{
    display: flex;
    flex-direction: column;
    height: calc(100vh - 11rem - 6rem - 9rem - 63px);
    box-sizing: border-box;
}

.list-wrapper{
    flex: 1;
    overflow-y: auto;
    margin-bottom: 16px;
}

.article { padding: 6rem 1.25rem 11rem 1.25rem; max-width:30rem; margin: auto; overflow: hidden; }

        .phone-row {
            display: flex;
            gap: 8px;
            align-items: stretch;
            width: 100%;
        }

        .country-select {
            flex: 0 0 120px;
            min-width: 120px;
        }

        .phone-input {
            flex: 1;
        }

        .phone-row select,
        .phone-row input {
            width: 100%;
            height: 42px;
            padding: 12px;
            margin: 0;
            box-sizing: border-box;
            font-size: 1.125rem;
            line-height: normal;
            vertical-align: baseline;
        }

.box-wrapper {
    padding: 1rem;
    background: var(--aiot-bg-card);
    margin-bottom: 1.5rem;
}

.agree-label {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 10px;
    gap: 6px;
    width: fit-content;
    margin: auto;
}

.agree-label input:checked + span {
    font-weight: bold !important;
}

.security-code-box {
    display: flex;
    align-items: center;
    gap: 8px;
}

.security-code-box img {
    height: 2rem;
}


/*--HEADER--*/
header {
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    right: 0;
    padding: 0.5rem 1rem;
    background: rgba(255, 255, 255, 0.9);
    height: 3.5rem;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
}

header h1 { letter-spacing: 0.2rem; }
header .logo { text-decoration: none; width: 7rem; }

header .name { display: none; }

header img { max-width: none; }

header .hm { position: relative; z-index: 10; padding:0; margin-left: auto; display: flex; justify-content: space-around; box-sizing:border-box; font-size: 0.75rem;}
header .hm li { width: 60px; position: relative; }
header .hm a { display: block; color:#707070; text-decoration: none; font-weight: 700; text-align: center; width:100%; line-height: 1.2; position: relative; }
header .hm a .icon {  width:1.65rem; margin: auto; }
header .hm a .icon svg { width: 1.65rem; fill: currentColor;}
header .hm a.active { color:#227751;}
header .hm a.active .icon { stroke:#227751; }

body.loggedin header .name {display: block; margin-left: auto;  }
body.loggedin header .hm {display:none;  }



#content {
    width: 90%;
    margin: 5rem auto 0 auto;
    /* padding-bottom: 60px; */
    position: relative;
}

.main_cont {
    margin: 10px 0;
}

.main_menu {
    width: 100%;
}
.main_menu .title {
    margin: 15px 0 15px 0;
    text-align: center;
}
.main_menu .title img {
    width: 200px;
    display: inline;
}

.main_menu .btn_news {
    width: 100%;
    height: 150px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0px 0px 5px rgba(0,0,0,0.5);
    position: relative;
    margin-bottom: 10px;
    border: 2px solid #227751;
    z-index: 2;
}

.main_menu .btn_news .text {
    width: 100%;
    padding: 30px 0 0 170px;
    box-sizing: border-box;
    font-size: 20px;
    font-weight: bold;
}

.main_menu .btn_image1 {
    position: absolute;
    top: 15px;
    left: 20px;
    z-index: 2;
}
.main_menu .btn_image1 img {
    width: 130px;
    max-width: none;
}
.main_menu .btn_news .btn_news-bg {
    width: 100%;
    height: 50px;
    background: url(../img/img_btn_bg-nami.png) repeat-x;
    background-position: center;
    position: absolute;
    bottom: 0;
    border-radius: 0 0 5px 5px;
}

.row {
    display: flex;
}
.mr15 {
    margin-right: 15px;
}

.ml15 {
    margin-left: 15px;
}

.mt15 {
    margin-top: 15px;
}

.main_menu .btn_image6 {
    top: 10px !important;
}

.main_menu .text {
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.main_menu .event_calendar {
    width: 100%;
    height: 2.5rem;
    background: #299FDB;
    border-radius: 10px;
    color: #fff !important;
    font-weight: bold;
    font-size: 1.25rem;
}

.btn_koshitaku {
    width: 100%;
    background: #F38102;
    color: #fff !important;
    box-sizing: border-box;
    padding: 10px 0;
    text-align: center;
    position: relative;
    border-radius: 10px;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
    margin-bottom: 10px;
    font-weight: bold;
}

#content{
	width: 90%;
	margin: 0 auto;
	padding-bottom: 60px;
	position: relative;
}

#content .white_box-main{
	width: 100%;
	background: #fff;
	border-radius: 10px;
	padding: 10px 10px 20px 10px;
	box-sizing: border-box;
	box-shadow:0px 0px 3px rgba(0,0,0,0.1);
}
#content .white_box-main .image{
	width: 150px;
	margin: 20px auto;
}
#content .white_box-main .image img{
	width: 150px;
}
#content .image-list{
	position: absolute;
	top: -80px;
	right: 0;
	background:rgba(255,255,255,0.5);
	border-radius: 5px;
	padding: 5px;
	box-sizing: border-box;
	font-size: 11px;
	color: #fff;
}
#content .image-list a:link{
	color: #fff;
}
#content .image-list a:visited{
	color: #fff;
}

.koshitaku_cont {
    margin-top: 70px;
    line-height: 1.5;
    font-feature-settings: normal;
    font-size: 13px;
}

.koshitaku_cont a {
    color: #fff;
    text-decoration: none;
}

.koshitaku_cont .main_logo {
    text-align: center;
    width: 100%;
    font-size: 11px;
    margin-bottom: 10px;
}

.koshitaku_cont .main_logo img {
    width: 100px;
    margin-bottom: 5px;
	display: inline;
}

.koshitaku_cont .w_box {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 20px;
    border-radius: 10px;
    background: #fff;
    text-align: center;
    margin-bottom: 10px;
}

.koshitaku_cont .w_box .title {
    font-size: 17px;
    font-weight: bold;
}

.fc_red {
    color: #ff0000;
}

.fc_orange {
    color: #F38102;
}

.bg_orange_koshitaku {
    background: #F38102;
}

.fc_green_koshitaku {
    color: #7BBB35
}

.bg_green {
    background: #7BBB35
}

.fc_blue {
    color: #00A2E8
}

.bg_blue {
    background: #00A2E8
}

.bg_white{
    background: #FFF !important;
}

.koshitaku_cont .yoyaku_time {
    font-size: 13px;
    padding: 5px 10px;
    border: 1px solid #FF0002;
    color: #FF0002;
    font-weight: bold;
    margin: 5px 0;
    display: inline-block;
}

.koshitaku_cont .btn_koshiapp {
    border-radius: 10px;
    margin-top: 10px;
}

.koshitaku_cont .btn_koshiapp a:link {
    width: 100%;
    box-sizing: border-box;
    padding: 5px 0;
    font-size: 18px;
    display: block;
    font-weight: bold;
}

.koshitaku_cont .btn_koshiapp span {
    font-size: 12px;
    font-weight: normal;
}

.koshitaku_cont p {
    margin-bottom: 0;
    text-align: center;
}

.main_menu .btn_menu {
    background: #FEFDF7;
    border-radius: 16px;
    padding: 24px 8px;
    text-align: center;
    width: 100%;
    margin: 0 auto;
    border: #E5E5E5 0.5px solid;
}

.main_menu .btn_menu p {
    font-size: 16px;
    font-weight: bold;
    margin: 0;
    margin-left: 1rem;
}

.main_menu .btn_menu img {
    width: 82px;
    height: 82px;
}

.main_menu .btn_digital_news .text_box {
   background: #227751;
}

.main_menu .btn_application {
    width: 100%;
    height: 130px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0px 0px 5px rgba(0,0,0,0.5);
    position: relative;
    margin-bottom: 10px;
    border: 2px solid #5BDB8B;
    z-index: 2;
}

.main_menu .btn_live_camera {
    width: 100%;
    height: 140px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 0 5px rgba(0,0,0,0.5);
    position: relative;
    margin-bottom: 10px;
    border: 2px solid #227751;
    z-index: 2;
}

.main_menu .btn_chat {
    width: 100%;
    height: 140px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 0 5px rgba(0,0,0,0.5);
    position: relative;
    margin-bottom: 10px;
    border: 2px solid #F9AC3A;
    z-index: 2;
}

.main_menu .btn_disaster_prevention {
    width: 100%;
    height: 140px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 0 5px rgba(0,0,0,0.5);
    position: relative;
    margin-bottom: 10px;
    border: 2px solid #ff5858;
    z-index: 2;
}

.main_menu .btn_image2 {
    position: absolute;
    top: 10px;
    z-index: 2;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.main_menu .btn_image2 img {
    height: 60px !important;
    max-width: none;
}

.main_menu .h-50 {
    height: 50px !important;
}

.main_menu .btn_healthcheck_img {
    position: absolute;
    top: 20px;
    z-index: 2;
    left: 50%;
    transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.main_menu .btn_healthcheck_img img {
    height: 85px;
    max-width: none;
}

.main_menu .btn_image5 {
    position: absolute;
    top: 20px;
    z-index: 2;
    left: 50%;
    transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.main_menu .btn_image5 img {
    height: 70px;
    max-width: none;
}

.main_menu .btn_image6 img {
    height: 60px !important;
    max-width: none;
}

.main_menu .image_htb_news img {
    height: 85px !important;
}

.main_menu .btn_image_news {
    top: 15px;
}

.main_menu .btn_image_news img {
    height: 85px;
    max-width: none;
}

.main_menu .btn_image4 {
	position: absolute;
	top: 100px;
	z-index: 2;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.main_menu .btn_image4 img{
	height: 120px;
    max-width: none;
}

.main_menu .text_box {
    height: 40px;
    line-height: 40px;
    bottom: 0;
    font-weight: bold;
    font-size: 16px;
    text-align: center;
}

.main_menu .btn_payment {
    width: 100%;
    height: 130px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0px 0px 5px rgba(0,0,0,0.5);
    position: relative;
    border: 2px solid #FFD458;
    z-index: 2;
}

.col {
    width: 100%;
    position: relative;
}
.main_menu .btn_form {
    width: 100%;
    height: 130px !important;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0px 0px 5px rgba(0,0,0,0.5);
    position: relative;
    border: 2px solid #BA996A;
    z-index: 2;
}

.main_menu a:link{
	position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    text-indent:-999px;
	z-index: 3;
}

.bg_btn_brown {
    background: #BA996A;
    border-radius: 0 0 5px 5px;
}

.bg_btn_green {
    background: #5BDB8B;
    border-radius: 0 0 5px 5px;
}

.bg_btn_orange {
    background: #FFD458;
    border-radius: 0 0 5px 5px;
}

.bg_btn_blue {
    background: #2d88ef;
    border-radius: 0 0 5px 5px;
}

.bg_btn_chat {
    background: #F9AC3A;
}
.bg_btn_cyan_blue {
    background: #299FDB;
    border-radius: 0 0 5px 5px;
}

.bg_btn_red {
    background: #ff5858;
    border-radius: 0 0 5px 5px;
}

.image_top_footer {
    width: 100%;
    height: auto;
    position: relative;
    margin-top: 200px;
}
.bg_img01 {
    width: 150px;
    position: absolute;
    bottom: 0px;
    left: 0px;
}

.bg_img02 {
    width: 230px;
    position: absolute;
    bottom: 60px;
    right: 0px;
}

.main_menu .btn_healthcheck {
    width: 100%;
    height: 140px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 0 5px rgba(0,0,0,0.5);
    position: relative;
    margin-bottom: 10px;
    border: 2px solid #227751;
    z-index: 2;
    color: #fff;
}

.main_menu .text-black {
    color: #000;
}

/*--FOOTER--*/
footer {
    box-sizing: border-box;
    position: fixed;
    bottom: 0;
    left: calc(50% - 50vw);
    right: calc(50% - 50vw);
    font-size: 0.75rem;
    line-height: 1.5;
    height: 7rem;
    z-index: 10000;
}

footer .bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 0;
    background: url(/user/img/bg_foot.png) center top /375px repeat-x;
    clear: both;
    padding: 20px;
}

footer .fm {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    padding: 0 0 1rem 0;
    margin: auto;
    display: flex;
    justify-content: space-around;
    box-sizing: border-box;
}

footer .fm li { width: 20%; position: relative; }
footer .fm a { display: block; color:#707070; text-decoration: none; font-weight: 500; text-align: center; width:100%; line-height: 1.2; position: relative; }
footer .fm a .icon { /*fill:none; stroke:#707070; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; stroke-miterlimit:10;*/ width:1.65rem; margin: auto; }
footer .fm a .icon svg { width: 1.65rem; fill: currentColor; pointer-events: auto;}
footer .fm a.active { color:#227751;}
footer .fm a.active .icon { stroke:#227751; }
footer .fm li.qr { position: relative; width:5rem; margin-top: -3.75rem; margin-bottom:1.75rem; border-radius: 1rem; border-radius:50%; display: none; }
footer .fm li.qr a { display: block; width:5rem; height: 5rem; margin: auto; }

/*--CONTENTS--*/
.sub_head { position: relative; margin-bottom:0.5rem; background:#227751; color:#fff; height: 3rem; display: flex; align-items: center; padding:0 1.25rem; margin: 0 calc(50% - 50vw); }
.sub_head a { color:#fff; text-decoration: none; }
.sub_head h2 { margin-bottom:0.5rem; }
.contents { width:100%; min-width:60rem; min-height:100vh; padding:4rem 1.5rem 1.5rem 14rem; margin:0 auto; box-sizing:border-box; z-index:0; position:relative; }
.contents .inner { }


/*TOP*/
body.top footer .fm li.top a { color:#227751; }
body.top footer .fm li.top a .icon { stroke:#227751; }


footer .fm .badge[data-badge="0"]::before { display: none; }
footer .fm .badge::before { display: flex; justify-content: center; align-items: center; position: absolute; content: attr(data-badge); min-width: 14px; height: 14px; box-sizing: border-box; padding: 2px; font-size: 9px; font-weight: bold; background-color: #e55; color:#fff; border-radius:3rem; top: 0; left: calc(50% + 0.25rem); z-index: 1; letter-spacing: normal; }



h1, h2, h3, h4, h5, h6 { line-height:1.5; position: relative; padding:0; letter-spacing:0.1rem; }
h1 { font-size:1.75rem;margin-bottom: 0.75rem; }
h2 { font-size:clamp(1.25rem,4.8vw,1.5rem); margin:0 0 1rem 0; padding: 0.25rem 0; text-align: center; margin-bottom: 44px;}
h3 { font-size:clamp(1rem,3.6vw,1.125rem); margin:0 0 1rem 0; padding: 0.25rem 0; background:#E7F3FE; color:#227751; }
h4 { font-size:clamp(1rem,3.6vw,1.125rem); margin-bottom: 0.5rem; }
h5 { font-size:1rem; margin-bottom: 0.5rem; }
h6 { font-size:1rem; margin-bottom: 0.5rem; }

h1 .comment, h2 .comment, h3 .comment, h4 .comment, h5 .comment { font-size:1rem; }

.bg_orange { display: inline-block; background: #F3BC50; color:#fff; width: auto; padding:0 0.25rem; }
.bg_green_kunneppu { display: inline-block; background: #4EAB58; color:#fff; width: auto; padding:0 0.25rem; }
.bg_green_ozora {display: inline-block; background: #73AEDF; color: #fff; width: auto; padding: 0 0.25rem;}

/*Grid*/
.grid { display: grid; grid-template-columns: repeat(2); gap: 10px; grid-auto-rows: minmax(7.5rem, auto); }
.grid .grid_item {background:rgba(255,255,255,1); padding:0.5rem; border-radius:1.25rem; box-shadow:0 3px 6px rgba(0,0,0,0.1); display: flex; flex-flow: column nowrap; align-items: center; justify-content: space-between; font-size:clamp(1.25rem,2.4vw,1.5rem); font-weight: bolder; line-height: 1.5; }
.grid .grid_item .icon { margin:0.5rem auto; }
.grid .grid_item .icon img { width: 100%; border-radius: 0.5rem; }
.grid .grid_item:nth-child(1) { grid-column: 1/3; grid-row: 1; }
.grid .grid_item:nth-child(1) .icon { width: 5rem; }
.grid .grid_item:nth-child(2) { grid-column: 1; grid-row: 2; }
.grid .grid_item:nth-child(2) .icon { width: 3rem; }
.grid .grid_item:nth-child(3) { grid-column: 1; grid-row: 3; }
.grid .grid_item:nth-child(3) .icon { width: 3rem; }
.grid .grid_item:nth-child(4) { grid-column: 2; grid-row: 2/4; }
.grid .grid_item:nth-child(4) .icon { width: 9rem; }
.grid .grid_item:nth-child(5) { grid-column: 1/3; grid-row: 4; }
.grid .grid_item:nth-child(5) .icon { width: 9rem; }


/*STEP*/
.step_box { background: #F2F2F2; border-radius: 0.625rem; padding: 1rem 1.5rem; margin:0 -1.5rem 3rem -1.5rem; position: relative; font-weight: bold; }
.step_box::after { content: ""; display: block; position: absolute; left:calc(50% - 0.9rem); bottom:-3rem; height: 2rem; border-top:1.1rem solid #227751; border-right: 0.9rem solid transparent; border-bottom: 1rem solid transparent; border-left: 0.9rem solid transparent; }
.step_box.last { margin-bottom: 2rem; }
.step_box.last::after { display: none; }

.price { font-weight: bold; font-size: 1.25rem; }
.card { width: auto; max-height: 2.5rem; display: inline-block; }
.securitycode { width: 6rem; display: inline-block; vertical-align: middle; }

.container_notice{
    background: #F5FBFF;
    padding: 1.5rem 1rem;
    margin-bottom: 20px;
    font-size: 15px !important;
}
.container_notice h4 {
    font-size: 15px !important;
    text-align: center;
}
.container_notice span{
}
.notice01 { border: 2px solid #75140C; padding: 1rem; margin-bottom: 1rem; }
.notice02 .maroon, .notice02 .dark-red-brown { font-weight: bold; }
.notice03 { padding: 1rem; margin-bottom: 1rem; background: #F7F7F7; }
.notice01.wide, .notice02.wide, .notice03.wide { margin-left:-1.5rem; margin-right: -1.5rem; }



/*FAQ*/
ol.faq { counter-reset:q; list-style:none; margin:0; padding:0; }
ol.faq li { font-weight: bold; padding: 0; margin: 0 0 0.5rem 0; }
ol.faq li .q { padding: 1rem 3rem; background: #E7F3FE; border-radius: 1rem; position:relative; }
ol.faq li .q::before { counter-increment:q; content:'Q'attr(value); vertical-align:middle; position: absolute; display:inline-block; font-weight:bold; text-align:center; color:#227751; left:1rem; }
ol.faq li .q::after { content:""; position: absolute; display: block; top:calc(50% - 0.5rem); right: 1rem; width: 0.7rem; height: 0.7rem; border-top: 0px solid transparent; border-right: 2px solid #227751; border-bottom: 2px solid #227751; border-left: 0px solid transparent; transform: rotate(45deg); }
ol.faq li .a { padding: 0.5rem 3rem; color:#F00; position:relative; }
ol.faq li .a::before { counter-increment:q; content:'A'attr(value); vertical-align:middle; position: absolute; display:inline-block; font-weight:bold; text-align:center; color:#F00; left:1rem; }



/*-- FORM/ --*/
form { margin:0; padding:0; border:0; vertical-align:middle; background:transparent;}
form label { vertical-align:middle; }


input, input[type="text"], input[type="button"], input[type="date"], textarea,select { display: inline-block; font-weight: 500; max-width:100%; -webkit-appearance:none; -moz-appearance:none; vertical-align:middle; position:relative; padding-inline:0; padding:0.25rem 0.5rem; line-height: 4; margin:0; color:#000; background:#F7F7F7; border:1px solid #F7F7F7; box-shadow:none; box-sizing:border-box; z-index:auto !important; height:2rem; font-size:0.875rem; border-radius:0; }
textarea { height: auto; line-height: 1.75; }
button, a.button { display:block; align-items: center; justify-content: center; -webkit-appearance:none; overflow:visible; vertical-align: middle; letter-spacing:0.1rem; padding:0.5rem 0.75rem; margin:0 auto 0.75rem auto; font-size:1.25rem; font-weight: bold; background:#227751; color:#fff !important; position:relative; text-decoration:none; transition:all .2s; cursor:pointer; box-sizing:border-box; border-radius:0.625rem; border:1px solid #707070; width:100%; max-width:17.5rem; }
input::placeholder, textarea::placeholder, select::placeholder { color:#777; }
button:hover, a.button:hover, input[type="button"]:hover, input[type="submit"]:hover {text-decoration:none; box-shadow:none; opacity:0.8; }
input:disabled, input[type="text"]:disabled, input[type="submit"]:disabled, input[type="submit"]:disabled,
input[type="button"]:disabled:hover, input[type="submit"]:disabled:hover { background:#fff !important; color:#fff; opacity:1.0; cursor:default; position:relative; }
input:focus, select:focus, textarea:focus { border:1px solid #ffb536; outline:none; /*box-shadow:0 0 3px rgba(255, 221, 102, 1);*/}

button:disabled, a.button.disabled, button:disabled:hover, a.button.disabled:hover, a.button.disabled:hover, /*input[type="button"]:disabled,input[type="button"]:disabled:hover,*/ input[type="submit"]:disabled,input[type="submit"]:disabled:hover { background:var(--aiot-color-primary) !important; border-color:var(--aiot-color-primary); color:#fff; cursor:default; pointer-events: none; }
input[type="button"]:disabled, input[type="button"]:disabled:hover{ color:#A6A6A6; cursor:default; pointer-events: none; }
button.mini, .button.mini { min-width:0; }
td button:last-of-type { margin-right: 0; }

button.wide { width:calc(100% + 3rem); max-width: none; margin-left:-1.5rem; margin-right:-1.5rem; }
button.w100 { width:100%; max-width: none; border-width: 2px; }
.b_white, button.cancel, button.del { color:#227751 !important; border: 1px solid #227751; background: #fff; }
.b_orange { border: 1px solid rgb(34 119 81); background: white; color: rgb(34, 119, 81) !important; }
.b_gray { border: 1px solid #707070; background: #707070;}
.b_lightgray { border: 1px solid #CECECE; background: #CECECE;}

input.big { font-size: 1.25rem; height: 3.25rem; padding:0.25rem 0.75rem; }

.b_red { border: 1px solid #75140C; background: #75140C;}
td .b_red { margin: 0; position: relative; z-index: 100000; padding: 0.25rem 0.25rem; }
td .b_red .material-icons { font-size: 1rem; }

.b_edit { display: inline-block; padding:0.15rem 0.5rem; border:1px solid #227751; color:#227751 !important; font-size: 0.625rem; letter-spacing: normal; background: transparent; border-radius: 0; margin:0; width: auto; white-space: nowrap;}
.b_edit .material-icons { font-size: 1rem; }

.b_mini { display: inline-block; height: 2rem; padding:0 0.5rem; width: auto; min-width: 0; border-radius: 0.25rem; line-height:1; margin: 0; font-size:0.9rem; }


/*-- SELECT/ --*/
select { padding:0.5rem 2.5rem 0.5rem 1rem; position: relative; background:#f7f7f7; border: 0px solid #707070; }
.select_wrap { position: relative; display: inline-block;}
.select_wrap::after { content:""; position: absolute; display: block; top:0.75rem; right:1rem; width: 0.4rem; height: 0.4rem; border-right: 2px solid #98A6B5; border-bottom: 2px solid #98A6B5; transform: rotate(45deg); z-index: 1; }
select:disabled, select.disabled { border:1px solid rgba(160, 208, 36, 0.2); color:rgba(160, 208, 36, 0.2); background:none; z-index:auto; }
select[multiple] { background: #fff; height: auto; }

.select-wrapper { position: relative; display: inline-block; user-select: none; }
/*.select_wrapper select { display: none; }*/
.custom-select { position: relative; display: inline-block;  }
.custom-select::after { content:""; display: block; width:0.5rem; height:0.5rem; border-bottom:2px solid #707070; border-right: 2px solid #707070; transform: rotate(45deg); position: absolute; right:1rem; top:0.6rem; z-index:2; transition: all .4s ease-in-out; }
.custom-select.opened::after { transform: rotate(225deg); top:0.9rem; transition: all 0s; z-index:101; }
.custom-select-trigger { position: relative; display: block; padding:0.25rem 2rem 0.25rem 0.5rem; background: #f7f7f7; cursor: pointer; line-height:1.5; border:1px solid #f7f7f7; color:#000; box-shadow:none; box-sizing:border-box; z-index:auto !important; border-radius: 0; }
.custom-options { position: absolute; display: block; top:0; left: 0; right: 0; min-width: 100%; border: 1px solid #707070; color:#000; border-radius: 0; box-sizing: border-box; background: #fff; opacity: 0; visibility: hidden; pointer-events: none; /*transition: all .4s ease-in-out; transform: translateY(-15px);*/ z-index:100; }
.custom-select.opened .custom-options { opacity: 1; visibility: visible; pointer-events: all; /*transform: translateY(0);*/}
.option-hover:before { background: #f9f9f9; }
.custom-option { position: relative; display: block; padding:0.25rem 2rem 0.25rem 0.5rem; cursor: pointer; transition: all .4s ease-in-out; border-bottom: 1px solid #707070; line-height: 1.5; }
.custom-option:first-of-type { border-radius: 0; }
.custom-option:last-of-type { border-bottom: 0; border-radius: 0; }
.custom-option:hover, .custom-option.selection { /*background: #f9f9f9;*/ }


.waku .custom-select-trigger { background: #fff; border:0px solid #707070; }


.border .custom-select::after { top:0.7em; }
.border .custom-select.opened::after { top:1rem;  }
.border .custom-select-trigger { background: #fff; border:1px solid #707070; border-radius: 0.25rem; }
.border .custom-options { border-radius: 0.25rem; }
.border .custom-option:first-of-type { border-radius:0.25rem 0.25rem 0 0; }
.border .custom-option:last-of-type { border-bottom: 0; border-radius: 0 0 0.25rem 0.25rem; }




/*-- Radio and Checkbox/ --*/
input[type="radio"], input[type="checkbox"] { margin:0; width:1.75rem; height:1.75rem; display:none; }
input[type="radio"] + span, input[type="checkbox"] + span { padding-left:1.75rem; position:relative; margin-right:1rem; display:inline-block; font-size: 1.125rem; }
input[type="radio"] + span::before{ content:""; display:block; position:absolute; top:0.35rem; left:0; width:1.25rem; height:1.25rem; background:transparent; border:3px solid #50A0D7; border-radius:50%; z-index:5; margin-right:3px; box-sizing:border-box; }
input[type="radio"] + span::after{ content:""; display:block; position:absolute; top:0.85rem; left:0.5rem ; width:0.2rem; height:0.2rem; background:#50A0D7; border-radius:50%; z-index:10; transition:0.25s; opacity:0; }
input[type="radio"]:checked + span, input[type="checkbox"]:checked + span { font-weight: normal }
input[type="radio"]:checked + span::before { }
input[type="radio"]:checked + span::after{ content:""; display:block; position:absolute; top:0.675rem; left:0.325rem; width:0.6rem; height:0.6rem; background:#50A0D7; border-radius:50%; z-index:10; transition:0.25s; opacity:1; }

input[type="checkbox"] + span::before { content:""; display:block; position:absolute; top:0.55rem; left:0; width:1.25rem; height:1.25rem; background:#fff; border:3px solid #1895E8; margin:-0.2rem 0.25rem 0 0; box-sizing:border-box; border-radius:0.25rem; }
input[type="checkbox"]:checked + span::before { background: #1895E8; }
input[type="checkbox"]:checked + span::after { content:""; display:block; position:absolute; top:0.45rem; left:0.4rem; width:0.5rem; height:0.9rem; transform:rotate(40deg); border-bottom:3px solid #fff; border-right:3px solid #fff; box-sizing:border-box; }


input[type="text"].file { font-weight: bold; padding-right: 7rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; position: relative; pointer-events: none; }
input[type="text"].file + input[type="button"] { position: absolute; top:0; right:0; margin: 0; border: none; background: none; font-size: 0.6125rem; color:#50A0D7; }


input[type="date"] { text-align: left; -webkit-appearance: none;}
input[type="date"]::-webkit-calendar-picker-indicator { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: transparent; z-index: 1; opacity: 0; }
.date_wrap { position: relative; }
.date_wrap::after { content:""; display: block; width:0.5rem; height:0.5rem; border-bottom:2px solid #707070; border-right: 2px solid #707070; transform: rotate(45deg); position: absolute; right:1rem; top:calc(50% - 0.35rem); pointer-events: none;}



label { display: inline-block; padding:0; margin-bottom: 0; position: relative; }
td.tc label { padding-right:0; /*margin-left:0.5rem;*/ }
td.tc input[type="checkbox"] + span { margin-right:0; }

button.i_delete { min-width:0 !important; }
button.i_delete::before { display:none; }

.error { color:#F00; display: inline-block; padding-top:0.25rem; font-size: 14px;}
div.error { border:1px solid #F00; padding:0 0.5rem; margin:0; }
span.error { color:#F00; }
input.error { border:1px solid #F00; }


.waku { background: #F2F2F2; margin-bottom:0.75rem; padding:1.25rem; }
.waku input { background:#fff;  }

.w100 { width: 100%; margin-right:0 !important; margin-left:0 !important; }
.w90 { width: 90%; }
.w80 { width: 80%; }
.w70 { width: 70%; }
.w60 { width: 60%; }
.w50 { width: 50%; }
.w40 { width: 40%; }
.w30 { width: 30%; }
.w20 { width: 20%; }
.w10 { width: 10%; }

.w95 { width: 95%; }
.w85 { width: 85%; }
.w75 { width: 75%; }
.w65 { width: 65%; }
.w55 { width: 55%; }
.w45 { width: 45%; }
.w35 { width: 35%; }
.w25 { width: 25%; }
.w15 { width: 15%; }
.w09 { width: 9%; }
.w06 { width: 6%; }
.w05 { width: 5%; }

.w66 { width: 66%; }
.w49 { width: 49%; }
.w48 { width: 48%; }
.w33 { width: 33.33%; }
.w32 { width: 32%; }

input.w75 { min-width:14rem; }
input.w50 { min-width:10.8rem; }
input.w33 { min-width:7.2rem; }
input.w25 { min-width:5.4rem; }
input.w20 { min-width:4.8rem; }
input.w15 { min-width:3.6rem; }
input.w10 { min-width:2.4rem; }
input.w5 { min-width:1.2rem; }

.mt0 { margin-top: 0 !important; }
.mt4 { margin-top: 0.25rem !important; }
.mt8 { margin-top: 0.5rem !important; }
.mt10 { margin-top: 0.625rem !important; }
.mt16 { margin-top: 1rem !important; }
.mt20 { margin-top: 1.25rem !important; }
.mt24 { margin-top: 1.5rem !important; }
.mt28 { margin-top: 1.75rem !important; }
.mt32 { margin-top: 2rem !important; }

.mt44 { margin-top: 2.75rem !important; }
.mt52 { margin-top: 3.25rem !important; }

.mb0 { margin-bottom: 0 !important; }
.mb4 { margin-bottom: 0.25rem !important; }
.mb8 { margin-bottom: 0.5rem !important; }
.mb16 { margin-bottom: 1rem !important; }
.mb20 { margin-bottom: 1.25rem !important; }
.mb24 { margin-bottom: 1.5rem !important; }
.mb28 { margin-bottom: 1.75rem !important; }
.mb32 { margin-bottom: 2rem !important; }

.mb44 { margin-bottom: 2.75rem !important; }
.mb52 { margin-bottom: 3.25rem !important; }

.mr0 { margin-right: 0 !important; }
.mr4 { margin-right: 0.25rem !important; }
.mr6 { margin-right: 0.375rem !important; }
.mr8 { margin-right: 0.5rem !important; }
.mr16 { margin-right: 1rem !important; }
.mr20 { margin-right: 1.25rem !important; }
.mr24 { margin-right: 1.5rem !important; }
.mr28 { margin-right: 1.75rem !important; }
.mr32 { margin-right: 2rem !important; }
.mr_auto { margin-right: auto !important; }

.ml0 { margin-left: 0 !important; }
.ml4 { margin-left: 0.25rem !important; }
.ml8 { margin-left: 0.5rem !important; }
.ml16 { margin-left: 1rem !important; }
.ml20 { margin-left: 1.25rem !important; }
.ml24 { margin-left: 1.5rem !important; }
.ml28 { margin-left: 1.75rem !important; }
.ml32 { margin-left: 2rem !important; }
.ml_auto { margin-left: auto !important; }


/* Class css padding left */
.pl0 { padding-left: 0 !important; }
.pl4 { padding-left: 0.25rem !important; }
.pl8 { padding-left: 0.5rem !important; }
.pl16 { padding-left: 1rem !important; }
.pl20 { padding-left: 1.25rem !important; }
.pl24 { padding-left: 1.5rem !important; }
.pl28 { padding-left: 1.75rem !important; }

/* Class css padding right */
.pr0 { padding-right: 0 !important; }
.pr4 { padding-right: 0.25rem !important; }
.pr8 { padding-right: 0.5rem !important; }
.pr16 { padding-right: 1rem !important; }
.pr20 { padding-right: 1.25rem !important; }
.pr24 { padding-right: 1.5rem !important; }
.pr28 { padding-right: 1.75rem !important; }



.example { color:#777; white-space:nowrap; }

.hissu { display: inline-block; background:#F00; border:1px solid #F00; color:#fff; font-size:0.8125rem; padding:0 0.25rem; vertical-align: middle; position: relative; margin:-0.1rem 0.5rem 0.1rem 0; border-radius: 0.15rem; box-sizing: border-box; }
.ninni {display: inline-block; background:none; border:1px solid #666; color:#666; font-size:0.8125rem; padding:0 0.25rem; vertical-align: middle; position: relative; margin:-0.1rem 0.5rem 0.1rem 0; border-radius: 0.15rem; box-sizing: border-box; }


/*進捗バー*/
.progress_box { display:flex; flex-flow:row wrap; align-items: center; justify-content:space-between; margin-bottom: 1rem; }
progress { width: calc(100% - 2rem); height: 6px; background-color:#eaeaea; border: none; }
progress::-webkit-progress-bar { background-color: #eaeaea; }
progress::-webkit-progress-value { background-color:#0F95E8; }
progress::-moz-progress-bar { background-color: #0F95E8; }
progress::-ms-fill { background-color: #0F95E8; }
.progress_box .bar { }
.progress_box .percent { font-size: 0.625rem; }

/*モーダル*/
body.modal {  }
body.modal .article { padding: 0 1.25rem  1.25rem  1.25rem; }
body.modal h2 { color :#333; padding: 1.5rem; margin-bottom: 0; }
body.modal h3 { background: none; color:#333; margin-bottom:0; font-size: 1.125rem; }
body.modal h3 + .date { margin-bottom: 1rem; }
body.modal .main_img { width:calc(100% + 2.5rem); margin: 0 -1.25rem 1.25rem -1.25rem; }
body.modal .main_img img { aspect-ratio:2/1; object-fit: cover; font-family: 'object-fit: cover;'; }

a[target='_blank']::after{ content:""; position:relative; display:inline-block; vertical-align:middle; width:1rem; height:1rem; margin:0 0.25rem; background:url(../img/i_blank.svg) center bottom /1rem no-repeat; }

a[href*='.xls']::after,
a[href*='.xlsx']::after,
a[href*='.doc']::after,
a[href*='.docx']::after,
a[href*='.pdf']::after { content:""; position:relative; display:inline-block; vertical-align:middle; width:1rem; height:1rem; margin:0 0.25rem; background:url(../img/i_dl.svg) center bottom /1rem no-repeat; }

.index_box a[target='_blank']::after { display:none !important; }
.index_box a[href*='.pdf']::after { display:none !important; }
a[target='_blank'].banner::after { display:none !important; }


/*日付取得カレンダー*/
/* .flatpickr-wrapper { width: 100%; } */
.flatpickr-weekdaycontainer > .flatpickr-weekday:nth-child(1){ color: #f55;}
.flatpickr-weekdaycontainer > .flatpickr-weekday:nth-child(7){ color: #1895E8;}
span.flatpickr-weekday { color: rgba(0,0,0,0.5); }
span.flatpickr-weekday:nth-child(1) { color: rgba(255, 105, 105, 0.6); }
span.flatpickr-weekday:nth-child(7) { color: rgb(30, 115, 190, 0.6); }
.flatpickr-day { line-height: 37px; color:#666; }
.flatpickr-day.saturday { color: #1895E8; }
.flatpickr-day.sunday,
.flatpickr-day.jp-holiday { color: #f55; }
.flatpickr-day.prevMonthDay.saturday,
.flatpickr-day.nextMonthDay.saturday,
.flatpickr-day.flatpickr-disabled.saturday { color: rgba(105, 139, 204, 0.2); }
.flatpickr-day.prevMonthDay.sunday,
.flatpickr-day.prevMonthDay.jp-holiday,
.flatpickr-day.nextMonthDay.sunday,
.flatpickr-day.nextMonthDay.jp-holiday,
.flatpickr-day.flatpickr-disabled.sunday,
.flatpickr-day.flatpickr-disabled.jp-holiday{ color: rgba(255, 105, 105, 0.2); }
.flatpickr-day.selected { background:none; border:3px solid #ffb536; line-height:32px; color: inherit; font-weight:bold; }
.flatpickr-day.selected:hover { background:#f93; color:#fff !important; border-color:#f93; }
.flatpickr-months .flatpickr-month { color:#333; height:2.5rem; margin-bottom:0.5rem; background:#DCEAF4; font-weight: bold; }
.flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover, .flatpickr-day.prevMonthDay, .flatpickr-day.nextMonthDay, .flatpickr-day.notAllowed, .flatpickr-day.notAllowed.prevMonthDay, .flatpickr-day.notAllowed.nextMonthDay { color: rgba(105,105,105,0.3);}
input.flatpickr, input.flatpickr_range, input.flatpickr_month, input.flatpickr_time { /*width: 12rem;*/ background: #F7F7F7; border:0px solid #707070; }
input.flatpickr_range { width: 15rem; }
input.flatpickr_time { width:11rem; }
input.flatpickr_range_time { width:18rem; }
.flatpickr-current-month { display: flex; justify-content: center; flex-flow:row-reverse wrap; padding-top:0; }
input.flatpickr.arrow,input.flatpickr-month.arrow { }
.flatpickr-current-month input.cur-year, .flatpickr-current-month .flatpickr-monthDropdown-months, .flatpickr-current-month .flatpickr-monthDropdown-months option { height:2.5rem; padding:0; font-size: 1.12rem; font-weight: bold; margin: 0; }
.flatpickr-current-month .numInputWrapper { width: 5.5rem; height: 2.5rem; line-height:2.5rem; font-size: 1.12rem;  font-weight: bold; position: relative; }
.flatpickr-current-month .numInputWrapper::after { content: "年"; display: inline-block; position: absolute; top:0; left:3.3rem; font-weight: bold; }
@supports (-webkit-touch-callout: none) {
    .flatpickr-current-month .numInputWrapper::after{
        right:0;
    }
}
.flatpickr-calendar { font-size:0.8125rem; }
.flatpickr-days, .dayContainer { width: 100% !important; min-width:17rem !important; }
.flatpickr-calendar.animate.open { padding: 1rem; }
.flatpickr-months .flatpickr-prev-month svg, .flatpickr-months .flatpickr-next-month svg { display: none; }
.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month { left: 1rem; top:1rem; height: 2.5rem; width:2.5rem; }
.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month::after { content:""; display: block; width:0.5rem; height:0.5rem; border-top:2px solid #333; border-left: 2px solid #333; transform: rotate(-45deg); position: absolute; top:1rem; left:1rem; }
.flatpickr-months .flatpickr-next-month.flatpickr-next-month { right: 1rem; top:1rem; height: 2.5rem; width:2.5rem; }
.flatpickr-months .flatpickr-next-month.flatpickr-next-month::after { content:""; display: block; width:0.5rem; height:0.5rem; border-top:2px solid #333; border-right: 2px solid #333; transform: rotate(45deg); position: absolute; top:1rem; right:1rem; }
.flatpickr-day { height: auto; }
.flatpickr-wrapper::after { content:""; display: block; width:0.5rem; height:0.5rem; border-bottom:2px solid #707070; border-right: 2px solid #707070; transform: rotate(45deg); position: absolute; right:0.75rem; top:calc(50% - 0.35rem); }
.flatpickr-wrapper.active::after { transform: rotate(225deg); top:1.2rem; transition: all .4s ease-in-out; }



/*-- TABLE/ --*/
table { border-collapse:collapse; width:100%; margin:0 auto; }
table th { padding:0.5rem 0.25rem; position: relative; }
table td { padding:0.5rem 0.25rem; position: relative; }

.table01 { margin-bottom: 1.5rem; }
.table01 th, .table01 td { vertical-align: top; padding:0.25rem; }
.table01 thead th, .table01 thead td { background:#F5F5F0; font-weight: normal; }
.table01 th { text-align:left; font-weight: normal; }
.table01 td { padding: 0.25rem 1.25rem; }
.table01 tr.bg th, .table01 tr.bg td { background:#F5F5F0; font-size: 14px; font-weight: normal;}
.table01 thead { background:#F5F5F0; }

.table02 { font-size: 1.125rem; margin-bottom: 1.5rem; }
.table02.mb-large {
  margin-bottom: 5em;
}

.table02 th, .table02 td { border-bottom:1px dashed #707070; font-weight: normal; line-height: 1.5; }
.table02 th { padding-right: 0; font-size: 0.875rem; text-align:left;}
.table02 thead th, .table02 thead td { background:#F5F5F0; text-align: center; }
.table02 thead th.tl { text-align: left; }
.table02 thead th.tr { text-align: right; }
.table02 th { text-align:left; }
.table02 td { font-weight: bold;}
.table02 td strong { font-size: 0.875rem;}

.table02.mb-large td strong {
    padding-left: 10px;
}

.table02 td.tr { width:auto; text-align: right; }
.table02 tr td:nth-last-of-type(2) { padding-right: 0; }

.table03 { border:1px solid #A6A6A6; border-left:1px solid #A6A6A6; border-right:1px solid #A6A6A6; background:#fff; margin-bottom: 1.5rem; font-size: 16px;}
.table03 th, .table03 td { border:1px solid #A6A6A6; border-left:1px solid #A6A6A6; border-right:1px solid #A6A6A6; }
.table03 thead th, .table03 thead td { background:#F4F0F0; font-weight: normal; line-height:1.25; text-align: left; background-clip: padding-box; }
.table03 thead th { text-align: left; }
.table03 th { text-align:left; }
.table03 td { }


.table01 tr.tr th, .table02 tr.tr th, .table03 tr.tr th { text-align:right; }
.table01 tr.tr th.tl, .table02 tr.tr th.tl, .table03 tr.tr th.tl { text-align:left; }
.table01 tr.tr th.tc, .table02 tr.tr th.tc, .table03 tr.tr th.tc, .table01 th.tc, .table02 th.tc, .table03 th.tc { text-align:center; }
.table01.wide, .table02.wide, .table03.wide { margin-left: -1.5rem; margin-right: -1.5rem; width:calc(100% + 3rem); }
td .error { font-size: 0.625rem; }
tr.total th, tr.total td, tr.bg th, tr.bg td { background: #F3BC50; font-weight: bold; padding:0.25rem 1.25rem; }
td .comment { display: inline-block; font-size: 0.625rem; font-weight: normal;}

.table04 {
    border-collapse: separate;
    border-spacing: 0 10px;
}
.table04 tr{
    background-color: #F7F7F7;
}
.table04 th{
    width: 30%;
    text-align: center;
    font-size: 14px;
    font-weight: normal;
}
.table04 td{
    padding: 1rem 1.25rem;
}
.table04 input, .table04 select{
    height: 2rem;
    background-color: #fff;
    border: 1px #A6A6A6 solid;
}
.table04 select{
    height: 2rem;
    background-color: #fff;
    border: 1px #A6A6A6 solid;
    line-height: 1;
    padding: 0rem 2rem 0rem 0.5rem;
}
/*カレンダー*/
.table03.cal th, .table03.cal td { vertical-align: top; text-align: center; width: 14.2%; }
.table03.cal td .date { border-bottom: 1px solid rgba(0,0,0,0.1); padding-bottom:0.5rem; margin-bottom:0.5rem; }
.table03.cal td .data { min-height:3rem; }
.table03.cal td .data span { display: block; font-weight: bold; }

.l_double { border-top:3px double rgba(0,0,0,0.1); }
.l_col_double { border-left:3px double rgba(0,0,0,0.1) !important; }
thead th.l_col_double { border-left:3px double rgba(160, 208, 36,0.5) !important; }
.l_dashed th, .l_dashed td { border-top:1px dashed rgba(0,0,0,0.1) !important; }
th p, td p { margin:0; }

td table { margin-bottom: 0; }
td img { width: 100%; }
table + .flex { margin-top: 1rem; }
img.photo_l { width:100%; margin: auto; max-width:16rem; }
img.photo_m { width:100%; margin: auto; max-width:8rem; }
img.photo_s { width:100%; margin: auto; max-width:2rem; }

tr.gray { }
tr.gray th, tr.gray td { background:rgba(0,0,0,0.1); }
tr.orange th, tr.orange td { background:rgba(243,188,80,0.1); }

.photo_m + button { margin-top:0.5rem; }

/*-- 幅の広いテーブルにスクロール表示 --*/
.scroll, #calcResult { overflow:auto; }
.scroll::-webkit-scrollbar, #calcResult::-webkit-scrollbar { height:15px; /*tableにスクロールバーを追加*/}
.scroll::-webkit-scrollbar-track, #calcResult::-webkit-scrollbar-track { background:rgba(0,0,0,0.1); /*tableにスクロールバーを追加*/}
.scroll::-webkit-scrollbar-thumb, #calcResult::-webkit-scrollbar-thumb { background:#227751;/*tableにスクロールバーを追加*/}
.scroll table, #calcResult table { margin-bottom:20px !important; }



/*アコーディオン*/
.m::after { content:"＋"; font-size:1.25rem; margin-top:-0.35rem; position:absolute; right:0.75rem; display:inline-block; transition:0.25s; color:#fff; }
.m.i_close::after { transform:rotate(45deg); }


/*ダイアログ*/
.dialog { position: fixed; top: 0; left:0; width:100%; height:100vh; border: none; display:flex; flex-flow:row wrap; align-items: center; justify-content:center; text-align: center; background: rgba(221,219,219,0.6); z-index:1000000; }
.dialog .float_box { background:#fff; width:80%; max-width:30rem; padding:2rem; border-radius: 0.625rem; }
.dialog .float_box p.text { font-size: clamp(1rem, 4.0vw, 1.25rem); font-weight: 500; }
.dialog .mark { width: 5rem; margin:0 auto 1rem auto; }
.dialog.wide .float_box { max-width:40rem; text-align: left; }
.dialog button { margin:0 auto 0.5rem auto; color: #FFFFFF !important; background: #fff;  border: 1px solid #73AEDF !important;}

/*ul.page_navi { display: flex; flex-flow: row nowrap; overflow: auto; justify-content: space-around; border-bottom: 2px solid #707070; margin-bottom: 1rem; flex-wrap: wrap; flex-direction: row; align-content: center; align-items: center; }*/
/*ul.page_navi { display: flex; flex-flow: row nowrap; overflow: auto; border-bottom:2px solid #707070; margin-bottom:1rem; }*/
ul.page_navi li { padding: 0.5rem; position: relative; }
ul.page_navi li::after { content: "|"; position: absolute; top:0.5rem; right:-0.25rem; }
ul.page_navi li:last-of-type::after { display: none; }
ul.page_navi li a { display: block; padding: 0 0.5rem; color: #000; text-decoration: none; border-radius: 0.5rem; font-weight: bold; white-space: nowrap}
ul.page_navi li a.active { background: #227751; color: #fff; }

/*イベント*/
.event_list { background: #f7f7f7; margin-bottom:0.75rem; line-height: 1.5; }
.event_list  a { display: block; min-width:10.625rem; padding:0.6125rem; text-decoration: none; color:#000; position: relative; }
.event_list .date {}
.event_list .title { font-size: 1.25rem; font-weight: bold; }
.event_list .cate { display: flex; flex-flow: row wrap; }
.event_list .cate span[class^="ct_"], span.tag[class^="ct_"] {display: block; color:#fff; font-size:0.8125rem; padding:0.25rem 0.5rem; margin-top:0.4rem; margin-right:0.4rem; line-height: 1.5; }
.event_list .cate .ct_green { background: #4EAB58; }
.event_list .cate .ct_red { background: #F46D6D; }
.event_list .cate .ct_gray,.tag.ct_gray { background: #8B8B8B; }

ul.mark { list-style: disc; padding-left: 1rem;  }


/*マイページ*/
body.mypage footer .fm li.mypage a { color:#227751; }
body.mypage footer .fm li.mypage a .icon { stroke:#227751; }

body.mypage footer {
    box-sizing: border-box;
    position: fixed;
    bottom: 0;
    left: calc(50% - 50vw);
    right: calc(50% - 50vw);
    font-size: 0.75rem;
    line-height: 1.5;
    height: auto;
    z-index: 100000;
}

body.mypage footer .bg { position: absolute; top:0; bottom:0; left:0; right:0; z-index:0; background:url(/user/img/bg_foot.png) center top /375px repeat-x; clear:both; padding:20px; }
body.mypage footer .fm li.qr { display: none; }


/*予約一覧*/
.reserve_item_box { display: flex; flex-flow: row nowrap; margin:0 -1.25rem; padding-left:1.25rem; overflow-y: auto; }
.reserve_item { background: #ffffff; margin-right:0.75rem; line-height: 1.5; border-radius: 8px;}
.reserve_item a { display: block; min-width:10rem; padding:0.75rem; text-decoration: none; color:#000; position: relative; }.reserve_item .cate,.reserve_list .cate { display: flex; flex-flow: row wrap; margin-bottom:0.5rem; }
.reserve_item .cate span,.reserve_list .cate span { display: block; background:#fff; font-size:0.8125rem; padding:0 0.5rem; margin-right:0.4rem; }
.reserve_item .status,.reserve_list .status { display: flex; flex-flow: row wrap; font-size: 0.8125rem; }
.reserve_item .status span,.reserve_list .status span { display: block; font-size: 0.8125rem; padding: 0rem; margin-right: 0.5rem; margin-bottom: 0.5rem; }
.reserve_item .title { font-weight: bold; margin-bottom:0.5rem; }
.reserve_item .date { font-size:0.8125rem;  }
.reserve_item .time { display: block; font-size:0.8125rem; margin-bottom: 0.5rem }

.reserve_list { background: #f7f7f7; margin-bottom:0.75rem; line-height: 1.5; }
.reserve_list a { display: block; padding:0.6125rem 2rem 0.6125rem 0.6125rem; text-decoration: none; color:#000; position: relative; }
.reserve_list a::after { content: ""; display: block; position: absolute; top:calc(50% - 0.35rem); right:0.75rem; width:0.7rem; height:0.7rem; border-top: 2px solid #707070;  border-right: 2px solid #707070; transform: rotate(45deg); }
.reserve_list .title { font-weight: bold; margin-bottom:0.25rem; }
.reserve_list .date { font-size:0.8125rem; }


/*お知らせ*/
.info_list { background: #f7f7f7; margin-bottom:0.75rem; line-height: 1.5; }
.info_list a.link { display: block; padding:0.6125rem 2rem 0.6125rem 0.6125rem; text-decoration: none; color:#000; position: relative; }
.info_list a.link::after { content: ""; display: block; position: absolute; top:calc(50% - 0.35rem); right:0.75rem; width:0.7rem; height:0.7rem; border-top: 2px solid #707070;  border-right: 2px solid #707070; transform: rotate(45deg); }
.info_list .title { font-weight: bold; margin-bottom:0.25rem; }
.info_list .date, .info_list .desc { font-size:0.8125rem; }

body.info footer .fm li.info a { color:#227751; }
body.info footer .fm li.info a .icon { stroke:#227751; }

body.info footer {
    box-sizing: border-box;
    position: fixed;
    bottom: 0;
    left: calc(50% - 50vw);
    right: calc(50% - 50vw);
    font-size: 0.75rem;
    line-height: 1.5;
    z-index: 100000;
}

body.info footer .bg { position: absolute; top:0; bottom:0; left:0; right:0; z-index:0; background:url(/user/img/bg_foot.png) center top /375px repeat-x; clear:both; padding:20px; }
body.info footer .fm li.qr { display: none; }

/*その他*/
body.other footer .fm li.other a { color:#227751; }
body.other footer .fm li.other a .icon { stroke:#227751; }
body.other footer { box-sizing:border-box; text-align:center; position: fixed; bottom:0; left:calc(50% - 50vw); right:calc(50% - 50vw); font-size:0.75rem; line-height: 1.5; height:auto; z-index:100000; }
body.other footer .bg { position: absolute; top:0; bottom:0; left:0; right:0; z-index:0; background:url(/user/img/bg_foot.png) center top /375px repeat-x; clear:both; padding:20px; }
body.other footer .fm li.qr { display: none; }


/*電話番号*/
.iti__country-list {}

/*メニュー*/
ul.manu {}
/* ul.menu li { margin-bottom: 0.25rem; } */
ul.menu li a { display:flex; align-items: center; background: #ffffff; padding: 0.65rem var(--aiot-spacing-8) 0.65rem var(--aiot-spacing-8); margin: 0 calc(-1 * var(--aiot-spacing-8)); color:#000; text-decoration: none; font-weight: bold; position: relative; border-top: 1px solid #EEEEEE;}
ul.menu li:last-child a {border-bottom: 1px solid #EEEEEE;}
ul.menu li a::after { content: ""; display: block; position: absolute; top:calc(50% - 0.25rem); right:1.75rem; width:0.5rem; height:0.5rem; border-top: 2px solid #6AA8DC;  border-right: 2px solid #6AA8DC; transform: rotate(45deg); }
ul.menu li a .icon { display:block; width:2rem; height: 2rem; margin-right:0.75rem; }
ul.menu li a .icon.i_member { background: url("/user/img/i_member.svg") center center /2rem no-repeat; }
ul.menu li a .icon.i_history { background: url("/user/img/i_history.svg") center center /2rem no-repeat; }
ul.menu li a .icon.i_card { background: url("/user/img/i_card.svg") center center /2rem no-repeat; }
ul.menu li a .icon.i_lang { background: url("/user/img/i_lang.svg") center center /2rem no-repeat; }
ul.menu li a .icon.i_ques { background: url("/user/img/i_ques.svg") center center /2rem no-repeat; }
ul.menu li a .icon.i_file { background: url("/user/img/i_file.svg") center center /2rem no-repeat; }
ul.menu li a .icon.i_lock { background: url("/user/img/i_lock.svg") center center /2rem no-repeat; }
ul.menu li a .icon.i_login { background: url("/user/img/i_login.svg") center center /2rem no-repeat; }
ul.menu li a .icon.i_logout { background: url("/user/img/i_logout.svg") center center /2rem no-repeat; }
ul.menu li a .icon.i_person_add { background: url("/user/img/i_person_add.svg") center center /2rem no-repeat; }
ul.menu li a .icon.i_person_remove { background: url("/user/img/i_person_remove.svg") center center /2rem no-repeat; }
ul.menu li a .icon.i_payment_card { background: url("/user/img/i_payment_card.svg") center center /2rem no-repeat; }

br.w400 { display: none; }

@media screen and (max-width:400px) {
br.w400 { display: inline-block; }
}

.html-d-none {
    display: none !important;
}
.disabled-link {
    pointer-events: none;
    cursor: not-allowed;
    opacity: 0.5;
}
.select2-container--default .select2-selection--single{
    background-color: #f7f7f7;
     border: none;
    border-radius: 0px;
    height: 32px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{
    line-height: 32px;
}
p.error{
    margin-bottom: 0px;
}
.is_need{
    margin-bottom: 20px;
}
.is_needed_emergency_tel{
    margin-bottom: 0px;
}

.select2-container .select2-selection--single{
    height: 42px!important;
    border: none;
    background: #FFFFFF;
}
.select2-container .select2-selection--single .select2-selection__rendered{
    line-height: 42px!important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow{
    top: 10px!important;
}
.select2-results__option--selectable{
    border-bottom: 1px solid #aaa;
}
.select2-container--default .select2-results__option--selected{
    background-color: #F4F0F0!important;
}
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{
    background-color: #1895E8!important;
}
.select2-results__options::-webkit-scrollbar {
    width: 8px;
}
.select2-results__options::-webkit-scrollbar-track {
    box-shadow: inset 0 0 5px grey;
    border-radius: 10px;
}

.select2-results__options::-webkit-scrollbar-thumb {
    background: #4D8FBA;
    border-radius: 10px;
}

.select2-results__options::-webkit-scrollbar-button {
    display: none;
}

/* This makes the custom arrow rotate. */
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{
    border-color: #707070;
    border-width: 0 2px 2px 0;
    transform: rotate(225deg) !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
    display: block;
    width: 0.5rem;
    height: 0.5rem;
    border: unset;
    border-bottom: 2px solid #707070;
    border-right: 2px solid #707070;
    transform: rotate(45deg);
    position: absolute;
    right: 0;
    top: 7px;
    left: 0;
    z-index: 2;
    transition: all .4s ease-in-out;
}
.select2-100w .select2-container{
    width: 100% !important;
}
#textModalError {
    text-align: center;
}
.space_textarea{
    white-space: pre-wrap;
    overflow-wrap: break-word;
}
.custom-focus-radio{
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    border: none !important;
    outline: none !important;
    display: block !important;
}
input[type="radio"].custom-focus-radio.focus + span::before{
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13,110,253,.25);
}
ul.menu li a .icon.i_notice {
    background: url(../img/i_notice.svg) center center /2rem no-repeat;
}

/* Event */
.card-container {
    display: flex;
    gap: 6px;
}

.card-segment {
    flex: 1;
    min-width: 0;
    text-align: center;
    font-size: 16px;
    padding: 6px !important;
    box-sizing: border-box;
    width: 25%;
}
/* Event */

/*行政情報*/
body.gyosei h2 { color:#333; background: #fff; margin:0 -1.5rem 1.5rem -1.5rem; padding:1.25rem 1.5rem; }
body.gyosei h3 { background: none; color:#333; margin-bottom:0; font-size: 1.125rem; }

body.gyosei ul.page_navi { background: #fff; }
body.gyosei ul.page_navi { display: flex; flex-flow: row nowrap; overflow-x: auto; margin-bottom:1.5rem; }
body.gyosei ul.page_navi li { position: relative; }
body.gyosei ul.page_navi li::after { content: ""; border-right:1px solid #333; position: absolute; top:0.5rem; bottom:0.5rem; right:0; }
body.gyosei ul.page_navi li:last-of-type::after { display: none; }
body.gyosei ul.page_navi li a { display: block; padding:0.25rem 0.75rem; color: #333; text-decoration: none; border-radius: 0; font-weight: bold; white-space: nowrap; font-size:0.875rem;  }
body.gyosei ul.page_navi li a.active { background: #227751; color:#fff; border-radius: 5px;}

body.gyosei .gyosei_list { background: #F7F7F7; margin-bottom:0.25rem; }
body.gyosei .gyosei_list a { display:flex; padding:0.5rem;  color: #333; text-decoration: none; }
body.gyosei .gyosei_list a .photo { width: 77px; height: 77px; margin-right:0.5rem; flex: 0 0 77px;}
body.gyosei .gyosei_list a .photo img { width: 100%; aspect-ratio:1/1; object-fit: cover; font-family: 'object-fit: cover;'; border: #707070 1px solid;}
body.gyosei .gyosei_list a .text { display: flex; flex-flow: column wrap; justify-content: space-between; flex-grow:2; overflow: hidden; padding-top: 7px; padding-bottom: 7px;}
body.gyosei .gyosei_list a .text .title { font-size: 1rem; max-width: 90%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: bold; }
body.gyosei .gyosei_list a .text .title-read { font-size: 1rem; max-width: 90%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.gyosei .gyosei_list a .text .date { font-size: 0.75rem; }
body.gyosei .gyosei_list a:hover, body.gyosei .gyosei_list a .text:hover{
    color: #73AEDF;
}
.gyosei_list a::after { content: ""; display: block; position: absolute; top:calc(50% - 0.35rem); right:0.75rem; width:0.7rem; height:0.7rem; border-top: 2px solid #707070;  border-right: 2px solid #707070; transform: rotate(45deg); }

.gyosei_list a {
    position: relative;
    display: block;
    padding-right: 30px;
}

body.gyosei ul.menu { margin: 0 -1.25rem; background-color: #f7f7f7;}
body.gyosei ul.menu li  { background: #fff; margin-bottom:2px; }
body.gyosei ul.menu li label { display: block; padding: 0.6rem 1.25rem; width: 100%; }
body.gyosei ul.menu li input[type="checkbox"] { margin:0; width:1.75rem; height:1.75rem; display:none; }
body.gyosei ul.menu li input[type="checkbox"] + span { display: block; padding-left:0; position:relative; margin-right:0;  font-size: 1.125rem; }
body.gyosei ul.menu li input[type="checkbox"] + span::before { content:"−"; display:block; position:absolute; top:0; left: auto; right:0; border:0px; margin:0; box-sizing:border-box; border-radius:0; color:#aaa; }
body.gyosei ul.menu li input[type="checkbox"]:checked + span::before { content:""; background:none;  }
body.gyosei ul.menu li input[type="checkbox"]:checked + span::after { content:""; display:block; position:absolute; top:0.4rem; left:auto; right:0.5rem; width:0.5rem; height:0.875rem; transform:rotate(45deg); border-bottom:1.5px solid #4eab58; border-right:1.5px solid #4eab58; box-sizing:border-box; }
body.gyosei ul.menu li .parent + span::before { content:"" !important; display:block; position:absolute; top:0.5rem !important; left:0.5rem; right:0.35rem!important; width:0.8rem; height:0.8rem; transform:rotate(45deg); border-bottom:1.5px solid black !important; border-right:1.5px solid black !important; box-sizing:border-box; }
body.gyosei ul.menu li .parent + span { font-weight: 600!important; }
body.gyosei ul.menu li .child + span { padding-left: 20px!important; }
/*モーダル*/
body.modal {  }
body.modal .article { padding: 0 1.25rem  1.25rem  1.25rem; }
body.modal h2 { color :#333; padding: 1.5rem; margin-bottom: 0; }
body.modal h3 { background: none; color:#333; margin-bottom:0; font-size: 1.125rem; }
body.modal h3 + .date { margin-bottom: 1rem; }
body.modal .main_img { width:calc(100% + 2.5rem); margin: 0 -1.25rem 1.25rem -1.25rem; }
body.modal .main_img img { aspect-ratio:2/1; object-fit: cover; font-family: 'object-fit: cover;'; }

/*プライバシーポリシー*/
#term-service .term-service_cont ol{
	margin-bottom: 20px;
}
#term-service .term-service_cont ol li{
	list-style: decimal;
}

/*受信設定*/
.news_title{position: relative;}
.news_title_display{display: flex; align-items: center; justify-content: center; gap: 110px; margin: 0;}
.btn_reception a:link{
    padding: 10px;
    box-sizing: border-box;
    border-radius: 10px;
    background: #227751;
    font-size: 14px;
    color: #fff;
    text-decoration: none;
	z-index: 10;
	position: absolute;
	top: 16px;
	right: 20px;
}
.btn_reception a:visited{
    color: #fff;
}

.footer{
    height: auto;
}

.footer ul.fm{
    border-top: #B2B2B2 1px solid;
    background-color: #fff;
    padding: 10px 0;
    overflow: hidden;
}

.footer ul.fm li{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    pointer-events: none;
}

.footer ul.fm li.qr{
    display: none;
}

.footer ul.fm li a span{
    pointer-events: auto;
}

/* Custormer Checkbox */

.custom-checkbox input[type="checkbox"] + span::before{
    content: none !important;
}

.custom-checkbox input[type="checkbox"] {
    display: none;
}

.custom-checkbox .checkmark {
    width: 27px;
    height: 27px;
    background: #fff;
    border-radius: 6px;
    display: inline-block;
    vertical-align: middle;
    position: relative;
    cursor: pointer;
    margin-right: 8px;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.custom-checkbox .checkmark::after {
    content: "";
    position: absolute;
    left: 8px;
    top: 1px;
    width: 12px;
    height: 18px;
    border: solid #F5F5F0;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
}

.custom-checkbox input[type="checkbox"]:checked + .checkmark {
    background: #007bff;
    border-color: #007bff;
}

.custom-checkbox input[type="checkbox"]:checked + span::after {
    content: "";
    position: absolute;
    left: 8px;
    top: 1px;
    width: 12px;
    height: 18px;
    border: solid #F5F5F0;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
    border-color: #fff;
}

