@charset "utf-8";
/* CSS Document */
body {
    margin: 0 auto;
    width: 100%;
    min-width: 300px;
}
body img {
    width: auto;
    height: auto;
    max-width: 100%;
    display: inline-block;
}
.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
/* header
-----------------------------------------------*/
#header2 {
    padding: 5px 0 0;
    background: transparent url(../images/bg_header.png) no-repeat scroll center top;
    width: 100%;
}
#header2 .header-inner {
    position: relative;
    width: 1280px;
    margin: 0 auto;
    padding: 56px 0px 0px;
    border-top-color: #000000;
    z-index: 100;
}
#header2 .logo {
    float: left;
    margin: -25px 0 10px;
}
#header2 .top-link {
    width: 19%;
    float: right;
    margin: -30px -0.5em 5px 0;
}
#header2 .top-link a {
    float: left;
    margin: 0 0 0 10px;
}
#header2 .top-link a img {
    display: inline;
}
.mainvisual {
    clear: both;
    max-width: 980px;
    margin: 0 auto;
    width: 98%;
}
.mainvisual img {
    max-width: 100%;
}

.mainvisual__inner {
	background: url("../images/bg_img_main.png") no-repeat center top;
	display: flex;
    flex-direction: column;
    height: 269px;
    justify-content: center;
	padding: 0 15px;
}
.mainvisual__inner h1 {
	font-size: 34px;
    font-weight: 600;
    color: #454545;
}
.mainvisual__inner p {
	font-size: 13px;
	color: #71A61B;
}

@media only screen and (max-width : 1024px) {
    #header2 {
        max-width: 1024px;
        height: auto;
        background: url("../images/top_tel_number.jpg") no-repeat 60% 16px, url("../images/bg_sp.jpg") repeat left top;
        background-size: 50% auto, auto;
    }
    #header2 .logo {
        width: 30%;
    }
    #header2 .header-inner {
        width: 98%;
        margin: 0 auto;
        box-sizing: border-box;
    }
    #header2 .top-link {
        margin-right: 3.5em;
				width: 13%;
    }
    .mainvisual2 {
        width: 100%;
    }
}
@media screen and (max-width : 933px) {
    #header2 {
        max-width: 933px;
    }
    #header2 .header-inner {
        max-width: 933px;
        width: 100%;
        padding: 0;
    }
    #header2 .logo {
        width: 30%;
        margin: 0 0 10px;
    }
    #header2 .top-link {
        width: 11%;
        margin-top: 20px;
    }
    .mainvisual img {
        max-width: 100%;
        height: auto;
    }
}
@media screen and (max-width : 870px) {
    #header2 .logo {
        width: 23%;
    }
}
@media screen and (max-width : 768px) {
    #header2 {
        max-width: 768px;
        background: none;
        padding: 0;
        width: 100%;
        box-sizing: border-box;
    }
    #header2 .header-inner {
        background-color: #fff;
        border-bottom: 3px solid #66A833;
        max-width: 768px;
        position: fixed;
        height: 93px;
        padding: 5px 0;
    }
    #header2 .logo {
        width: 30%;
    }
    #header2 .logo img {
        width: 100%;
    }
    #header2 .top-link {
        /*width: 15%;
        margin: -3.3em 3px 0 0;*/
		width: 42%;
        margin: 15px 65px 0 0;
    }
    #header2 .top-link img {
        width: 100%;
    }
    .mainvisual {
        padding-top: 93px;
        width: 100%;
        margin: 0 0 0 0;
    }
	
	.mainvisual__inner h1 {
		font-size: 28px;
	}
	.mainvisual__inner p {
		font-size: 12px;
	}
}
@media screen and (max-width : 640px) {
    #header2 .logo {
        width: 40%;
    }
}
@media screen and (max-width : 414px) {
    #header2 .header-inner {
        height: 65px;
    }
    .mainvisual {
        padding-top: 68px;
        width: 100%;
        margin: 0 0 0 0;
    }
	
	.mainvisual__inner h1 {
		font-size: 20px;
	}
}

/* gnav */
@media only screen and (max-width : 1024px) {
    #gnav {
        max-width: 580px;
        margin: 10px 25px 0 0;
        float: right;
        width: 80%;
    }
    #gnav li {
        float: left;
        max-width: 110px;
        width: 20%;
        height: auto;
        margin: 0 0 0 3px;
        box-sizing: border-box;
    }
}
@media only screen and (max-width : 933px) {
    #gnav {
        margin: 7px 0 0;
    }
}
/*  スマホメニュー  */
#gnav-sp {
    position: fixed;
    top: 0;
    right: -300px;
    width: 300px;
    height: 100%;
    padding-top: 40px;
    background: #333;
    font-size: 14px;
    box-sizing: border-box;
    z-index: 2
}
#gnav-sp li {
    display: block;
    border-bottom: 1px solid #aaa;
    color: #ddd;
}
#gnav-sp li:first-child {
    border-top: 1px solid #aaa;
}
#gnav-sp li.border_none {
    border-bottom: none;
}
#gnav-sp li a {
    box-sizing: border-box;
    color: #ddd;
    display: block;
    height: auto;
    padding: 10px 0 10px 12px;
    text-decoration: none;
    width: 100%;
}
#gnav-sp li:last-child {
	background-color: #1292EE;
}
.btn-gnav {
    display: none;
}
@media screen and (max-width: 768px) {
    #gnav {
        display: none;
    }
    .btn-gnav {
        display: block;
        position: fixed;
        top: 9px;
        right: 20px;
        width: 30px;
        height: 24px;
        z-index: 3;
        box-sizing: border-box;
        cursor: pointer;
        -webkit-transition: all 400ms;
        transition: all 400ms
    }
    .btn-gnav span {
        position: absolute;
        width: 30px;
        height: 4px;
        background: #66A833;
        border-radius: 10px;
        -webkit-transition: all 400ms;
        transition: all 400ms
    }
    .btn-gnav span:nth-child(1) {
        left: 0;
        top: 0
    }
    .btn-gnav span:nth-child(2) {
        left: 0;
        top: 10px
    }
    .btn-gnav span:nth-child(3) {
        left: 0;
        top: 20px
    }
    .btn-gnav.open {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg)
    }
    .btn-gnav.open span {
        background: #fff
    }
    .btn-gnav.open span {
        width: 24px;
    }
}


/* footer
-----------------------------------------------*/
div#footer2 {
    height: auto;
    background: transparent url(../../discount/bg_footer.gif) no-repeat scroll center top;
    margin-bottom: 0;
    padding-bottom: 110px;
}
div#footer2 .footer-inner {
    overflow: hidden;
    width: 920px;
    margin: 0 auto;
    padding: 0 0 30px;
}
div#footer2 .pagetop-btn {
    float: right;
    overflow: hidden;
    margin: 0 0 40px;
}
div#footer2 .copyright {
    text-align: right;
}
    .footer {
        background-color: #396610;
    }

.fotter_box .container-inner {
    align-items: center;
    margin: 0 auto;
    max-width: 980px;
}
.fotter_box img {
    height: auto;
    max-width: 100%;
    vertical-align: middle;
}
.pc-following-tel {
    height: auto;
    width: 370px;
}
.pc-following-mail {
    margin-left: 10px;
    width: 490px;
}
.pc-following-mail > div {
    margin-bottom: 6px;
}
.pc-following-mail > div > div:nth-of-type(2) {
    margin: 2px 4px 0 0;
}
@media screen and (min-width : 981px) {
    .show_sp2 {
        display: none;
    }
}
@media screen and (max-width : 980px) {
    .show_pc2 {
        display: none;
    }
    div#footer2 {
        background: none, #F7F3EC;
        border-top: 5px solid #6DAE03;
        padding-bottom: 74px;
    }
   div#footer2 .footer-inner {
        width: 98%;
    }
    div#footer2 .copyright {
        text-align: left;
    }
    .footer {
        padding: 6px 0;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        z-index: 99;
    }
    .footer .tel-num {
        background-color: #fff;
        border-radius: 10px;
        box-sizing: border-box;
        margin-left: 2%;
        padding: 2px 0;
        text-align: center;
        width: 16%;
    }
    .footer .tel-num a img {
        height: 50px;
        width: auto;
    }
    .footer .to-form {
        box-sizing: border-box;
        font-size: 14px;
        margin-right: 2%;
        text-align: center;
        width: 76%;
    }
    .footer .to-form > p {
        color: #fff;
        font-weight: bold;
        margin-bottom: 5px;
    }
    .footer .to-form .flex p {
        background-color: #fff;
        border-radius: 10px;
        box-sizing: border-box;
        padding: 3px 10px;
        width: 48%;
    }
    .footer .to-form .flex p a {
        color: #000;
        font-size: 20px;
        font-weight: bold;
        text-decoration: none;
    }
}
@media screen and (max-width : 933px) {
    #footer2 .footer-inner {
        width: 98%;
    }
}
@media screen and (max-width : 768px) {
    #footer2 {
        width: 100%;
        background: none, #F3EDE3;
        border-top: 3px solid #6DAE03;
    }
}
@media screen and (max-width : 414px) {
    div#footer2 .footer-inner {
        padding: 0 0 10px;
    }
    div#footer2 .pagetop-btn {
        margin: 0 0 20px;
    }
}
@media screen and (max-width : 375px) {
    div#footer2 {
        height: auto;
    }
    div#footer2 .footer-inner {
        margin: 0;
    }
}
@media screen and (max-width : 344px) {
    div#footer2 .pagetop-btn {
        margin: 0 0 20px;
    }
    .footer .to-form .flex p a {
        font-size: 18px;
    }
}
/* container
-----------------------------------------------*/
#container2 {
    padding: 30px 0 60px;
    font-size: 107.6%;
}
#container2 .container-inner {
    overflow: hidden;
    max-width: 1200px;
    margin: 0 auto;
}
@media screen and (max-width : 933px) {
    #container2 {
        width: 100%;
    }
    #container2 .container-inner {
        width: 98%;
        margin: 0 auto;
    }
}
@media only screen and (max-width : 768px) {
}
@media only screen and (max-width : 414px) {
}
/* contents
-----------------------------------------------*/
#contents2 {
    float: left;
    max-width: 940px;
    width: 74%;
}
#contents2 .heading {
    background: transparent url(../../discount/bg_ttl01.gif) no-repeat scroll 0% 0%;
    color: #fff;
    font-size: 114.2%;
    font-weight: bold;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 15px;
    margin-left: 0;
    padding-top: 5px;
    padding-right: 10px;
    padding-bottom: 5px;
    padding-left: 15px;
}
@media only screen and (max-width : 933px) {
    #contents2 {
        margin: 0 2% 0 0.5em;
        width: 68%;
    }
}
@media only screen and (max-width : 768px) {
    #contents2 {
        float: none;
        max-width: 768px;
        width: 98%;
        margin: 0 auto;
    }
    #contents2 .heading {
        background: none, #76A924;
        border-radius: 10px 0 0 0;
        width: 100%;
        box-sizing: border-box;
    }
}
@media only screen and (max-width : 414px) {
    #contents2 {
        margin: 0 auto;
        padding: 0;
        float: none;
    }
    #contents2 .heading {
        background: url(../../discount/bg_ttl01-sp.gif) no-repeat scroll 0% 0%;
        color: #fff;
        font-size: 114.2%;
        height: auto;
        font-weight: bold;
        margin-top: 0;
        margin-right: 0;
        margin-bottom: 15px;
        margin-left: 0;
        padding-top: 5px;
        padding-right: 10px;
        padding-bottom: 5px;
        padding-left: 15px;
    }
}
@media only screen and (max-width : 375px) {}
/* sidebar
-----------------------------------------------*/
#sidebar2 {
    float: right;
    max-width: 210px;
    width: 30%;
}
#sidebar2 .title {
    margin: 0 0 4px;
    text-align: center;
}
#sidebar2 .title img {
    display: inline;
}
@media only screen and (max-width : 933px) {}
@media only screen and (max-width : 768px) {
    #sidebar2 {
        margin: 0 0 0 0;
        float: none;
        width: 100%;
        max-width: 100%;
    }
    #sidebar2 h2.title,
    #sidebar2 .local-nav {
        display: none;
    }
    #sidebar2 .title2 {
        font-size: 20px;
        color: #fff;
        padding: 6px 0;
        text-align: center;
        background-color: #79AB25;
    }
    .outline-list li.company-more {
        font-size: 20px;
        padding: 6px 0;
        text-align: center;
        background-color: #79AB25;
    }
    .outline-list li.company-more a {
        color: #fff;
        text-decoration: none;
    }
    .other-banner {
        text-align: center;
    }
    .ml20.other-banner {
        margin-left: auto;
    }
}
@media only screen and (max-width : 414px) {
    #sidebar2 .disnone { /*__スマホ用サイドバー　display= none;__*/
        display: none;
    }
    #sidebar2 .gaiyou {
        display: block;
    }
}
.col h3.head {
    margin-bottom: 20px;
}
#guide-cont p.img-box,
.img-box {
    text-align: center;
}
/* top */
.banner-list {
    margin: 0;
    width: 100%;
}
.banner-list li {
    margin: 0 2% 0 0;
    width: 49%;
}
.banner-list li:nth-child(2) {
    margin: 0;
}
.top_bottom_tx {
    max-width: 606px;
    width: 100%;
}
.tex-ora {
    margin: 0 0 10px;
}
@media screen and (max-width: 375px) {
.telephone-box a p {
    margin-bottom: 10px!important
}
}
@media screen and (max-width: 940px) {
    .table {
        box-sizing: border-box;
        width: 100%;
    }
    .cont .cont-list li {
        margin-left: 2%;
        width: 32%;
    }
    .cont .cont-list li:first-child {
        margin-left: 0;
    }
}
@media screen and (max-width: 686px) {
    .banner-list li,
    .banner-list li:nth-child(2){
        margin: 0 0 10px;
        text-align: center;
        width: 100%;
    }
    .top_bottom_tx {
        width: 100%;
    }
}

@media screen and (max-width: 480px) {
    .cont .cont-list li {
        margin: 0 0 10px;
        text-align: center;
        width: 100%;
    }
}

/* menu 流れ */

@media screen and (max-width: 768px){
.flow-list li.step01 {
    background: url("../images/flow_bg_flow01_sp.png") no-repeat;
}
.flow-list li.step02 {
    background: url("../images/flow_bg_flow02_sp.png") no-repeat;
}
    .flow-list li.step02 .inner {
        height: auto;
    }
.flow-list li.step03 {
    background: url("../images/flow_bg_flow03_sp.png") no-repeat;
}
.flow-list li.step04 {
    background: url("../images/flow_bg_flow04_sp.png") no-repeat;
}
.flow-list li.step05 {
    background: url("../images/flow_bg_flow05_sp.png") no-repeat;
}
    .flow-list li .eyecatch {
        margin: 0 10px 10px 0;
    }
    .flow-list li.step01 .inner {
        height: auto;
        padding: 10px 0;
    }
    .flow-list li .txt-col {
        float: none;
        height: auto;
        padding: 10px 0;
        width: 100%;
    }
    .flow-list li.step03 .inner,
    .flow-list li.step04 .inner,
    .flow-list li.step05 .inner {
        height: auto;
    }
    .flow-list li.step05 .inner {
        margin-bottom: 10px;
    }
}
/* Q&A */

.ml213 {
    display: inline-block;
    margin-left: 213px;
}
.ml132 {
    display: inline-block;
    margin-left: 132px;
}
@media screen and (max-width: 768px) {
.faq-list {
    width: 96%;
}
.section__04 .faq-list {
    width: 100%;
}
.faq-list .question {
    background: url("../images/qa/icon_q.png") no-repeat 5px center;
    background-size: 1.5em auto;
    border-radius: 5px;
    box-shadow:  0 0 4px 4px rgba(200,200,200,0.8);
    margin: 2px 2px 16px;
    padding: 8px 0 8px 40px;
}
.faq-list .question_pink {
    background: url("../images/qa/icon_q_pink.png") no-repeat 5px center #F7E7F8;
    background-size: 1.5em auto;
    border-radius: 5px;
    box-shadow:  0 0 4px 4px rgba(200,200,200,0.8);
    margin: 2px 2px 16px;
    padding: 8px 0 8px 40px;
}
.section__04 .faq-list .question {
    background: -moz-linear-gradient(top,#FFFFFF,#FAFAFA 50%,#E5E9EC); 
	background:-webkit-linear-gradient(top,#FFFFFF,#FAFAFA 50%,#E5E9EC); 
	background:linear-gradient(top,#FFFFFF,#FAFAFA 50%,#E5E9EC);
    border: 1px solid #ccc;
	border-radius: 7px;
	color:#006;
	font-weight:bold;
	padding: 8px;
	box-sizing: border-box;
	margin-bottom: 10px;
}
    .faq-list .answer {
        margin-bottom: 20px;
    }
    .spml0 {
    margin: 20px 0 0;
    }
}

@media screen and (max-width: 512px) {

.ml213 {
    margin-left: 0;
}
.ml132 {
    margin-left: 0;
}
}

    /* saisei */
table.type01 {
    width: 100%;
}

/* discount */

@media screen and (max-width: 933px) {
    .trading_logo_head {
        background-image: url("../images/trading_logo_head_sp.jpg");
        background-size: 100%;
        border-left: 2px solid #DAFE9C;
        border-right: 2px solid #DAFE9C;
        width: 100%;
    }
    .trading_wrap {
        width: 100%;
        box-sizing: border-box;
    }
    .trading_ul li .mb10 {
        margin-bottom: 0;
    }
    .line,
    .line_none {
        margin-left: 0;
        width: 100%;
    }
    .trading_wrap,
    .trading_answer {
        box-sizing: border-box;
        padding: 10px;
        width: 100%;
    }
    .trading_logo_bottom {
        display: none;
    }
}
@media screen and (max-width: 686px) {
.trading_logo_head {
    height: auto;
    padding: 15%;
}
    .trading_ul {
        box-sizing: border-box;
        position: absolute;
        width: 65%;
		left: 75px;
		top: 9px;
    }
}

/* blog まめ知識 */
@media screen and (max-width: 686px) {
    .blog-contbox {
        width: 100%;
    }
    .blog-list li {
        background: url(../../blog/blog_sp.png) no-repeat 5px center;
    background-size: 2em auto;
    border-radius: 5px;
    box-shadow:  0 0 4px 4px rgba(200,200,200,0.8);
    margin: 2px 2px 16px;
    padding: 8px 0 8px 40px;

    }
}

/* 再検討 saiketo first */
@media screen and (max-width: 768px) {
.saikento-table .td1,.first-table .td1 {
    width: 120px;
}

/* company gaiyo contact */
    #profile-cont table th {
        width: 120px;
    }
    #profile-cont table.contact-form,
    #profile-cont table.contact-form tbody,
    #profile-cont table.contact-form tr{
        display: block;
        width: 100%;
    }
    #profile-cont table.contact-form th,
    #profile-cont table.contact-form td {
        box-sizing: border-box;
        display: block;
        width: 100%;
    }
    #profile-cont table.contact-form td input,
    #profile-cont table.contact-form td textarea {
        box-sizing: border-box;
        width: 98%;
        margin: 0 auto;
    }
    #profile-cont table.contact-form td input.postcode {
        margin-bottom: 10px;
        width: 30%;
    }
    #profile-cont table.contact-form td input[type="radio"] {
        width: 10%;
    }
    #profile-cont + .box {
        margin-bottom: 10px;
        padding: 10px;
    }
    .sengen + .text {
        width: 100%;
    }
    .box ol.list {
        padding-left: 0;
        text-align: left;
        width: 100%;
    }
    .dt.sengen + dd.ml40 {
        margin-left: 0;
        text-align: left;
    }
    #access-cont iframe {
        width: 98%;
        margin: 0 auto;
    }
}

/* 2021/04 追加CSS */
#gnav-sp {
	margin-bottom: 50px;
	overflow: auto;
	padding-bottom: 50px;
	-webkit-overflow-scrolling:touch;
}

/* 2021/07　でんさい見積もりフォーム 追加CSS */
.mitsumori-form-notes a {
    font-weight: bold;
    text-decoration: underline;
}
.mitsumori-form-guide {
    margin: 20px 0;
}
.mitsumori-form-guide a {
    background-color: #FFD966;
    border-radius: 4px;
    box-shadow: 2px 2px 2px rgba(200, 200, 200, .8);
    color: #000;
    padding: 6px 60px;
    text-decoration: none;
}
.modal-window {
    display: none;
    height: 100vh;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 198;
}
.modal__bg {
    background: rgba(0,0,0,0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
    z-index: 199;
}
.modal__content {
    background: #fff;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    z-index: 200;
}
.modal__content img {
    max-height: 95vh;
    max-width: 100%;
    width: auto;
}
a.js-modal-close {
    background-color: #fff;
    bottom: 0;
    color: #000;
    font-weight: bold;
    padding: 4px 10px;
    position: absolute;
    right: 0;
    text-decoration: none;
}
@media screen and (max-width: 768px) {
    .modal__content {
        left: 0;
        transform: translateX(0);
    }
    .modal__content p {
        text-align: center;
    }
    .modal__content img {
        margin: 0 auto;
        width: 80%;
    }
    a.js-modal-close {
        bottom: auto;
        top: 0;
    }
    #profile-cont table.form-table2 th,#profile-cont table.form-table2 td {
        box-sizing: border-box;
        display: block;
        width: 100%;
    }
}
/* 2022/02　pc追従ボタンを光らせる　追加CSS */
.pc-following-mail ul li a {
    display: inline-block;
    overflow: hidden;
    position: relative;
}
.pc-following-mail ul li a::after {
    background-color: #fff;
    content: '';
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: -180px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-animation: reflection 3s ease-in-out infinite;
    animation: reflection 2s ease-in-out infinite;
    width: 30px;
}
@keyframes reflection {
0% { transform: scale(0) rotate(45deg); opacity: 0; }
80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { transform: scale(4) rotate(45deg); opacity: 1; }
100% { transform: scale(50) rotate(45deg); opacity: 0; }
}


/************
categories配下 追加CSS 2024/01
*************/
.cta-parts {
	margin: 50px 0;
	display:flex;
	flex-direction:column;
}
.cta-parts .cta-line-flex{
	order:1;
}
@media screen and (max-width: 768px) {
.cta-parts .cta-line-flex{
	display:none;
}
}
.cta-lead {
	background-color: #fff;
	text-align: center;
}
.cta-flex {
	box-sizing: border-box;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
}
.cta-flex-left {
	background-color: #FFF8EB;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: center;
	padding: 12px;
  row-gap: 16px;
	width: 60%;
}
.cta-flex-left > a {
	display: block;
	margin: 0 auto;
	max-width: 300px;
}
.cta-flex-right {
	box-sizing: border-box;
	width: 40%;
}
.cta-tel-flex {
	align-items: center;
	background-color: #E9E9E9;
	border-bottom: 6px solid #AFA5A5;
	box-sizing: border-box;
	gap: 0 12px;
	padding: 12px 20px;
	text-align: center;
	width: 100%;
}
.cta-tel-flex > div {
	width: 50%;
}
@media screen and (max-width: 768px) {
	.cta-parts {
		margin: 40px 0;
		padding: 0 15px;
	}
	.cta-flex {
		flex-direction: column;
	}
	.cta-flex-left, .cta-flex-right {
		width: 100%;
	}
	.cta-flex-left {
		padding: 15px 20px;
	}
	.cta-tel-flex {
		flex-direction: column;
		gap: 10px 0;
		padding: 15px 20px;
	}
	.cta-tel-flex > div {
		width: 100%;
	}
}

/*************************
sp追従footer改修 2024/01 追加CSS
*************************/
.sp-fixed-footer {
	display: none;
}
@media screen and (max-width: 980px) {
	.sp-fixed-footer {
		background-color: #3B6712;
		bottom: 0;
		box-sizing: border-box;
		display: block;
		left: 0;
		padding: 6px 0;
		position: fixed;
		right: 0;
		text-align: center;
		width: 100%;
	}
	.sp-fixed-footer p {
		color: #fff;
		line-height: 1;
		margin-bottom: 4px;
	}
	.sp-fixed-footer p a{
		color:#fff;
		text-decoration:none;
		font-size: 1.25em;
		font-weight:700;
	}
	.sp-fixed-footer p a span{
		font-size:1.5em;
	}
	.sp-fixed-footer-btn-flex {
		box-sizing: border-box;
		justify-content: space-between;
		width: 100%;
	}
	.sp-fixed-footer-btn-flex a {
		display: block;
		margin-right: 1%;
		width: 32%;
	}
	.sp-fixed-footer-btn-flex a:first-child {
		margin-left: 1%;
	}
	.sp-fixed-footer-btn-flex a img {
		box-shadow: 3px 8px 3px rgba(0, 0, 0, .16);
		aspect-ratio: 3/1;
		object-fit:cover;
	}
}

/* popup bnr */
.loading_ad{
  position: fixed;
  top: calc(50% - 400px);
  right: calc(50% - 300px);
  z-index: 99999;
  display: flex;
  align-items: center;
  flex-direction:column;
  justify-content: center;
  transition:.4s;
}
.overlay_bg{
  content:'';
  background: rgba(0,0,0,0.75);
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 9999;
  width: 100vw;
  height: 100vh;
}
.loading_ad.fix::after{
  background: rgba(0,0,0,0.5);
}
.loading_ad .sp_txt{
  display:none;
}
.loading_ad .popup_bnr {
  text-align:center;
  transition:.5s;
  position:relative;
  z-index:10;
  max-width:100%;
  width:600px;
}
.loading_ad .popup_bnr a{
  display:block;
  transition:.5s;
  background-color:#fff;
}
.loading_ad .popup_bnr a.tel{
	position:absolute;
	width:50%;
	right:0;
	bottom:2%;
	pointer-events:none;
}
.loading_ad .popup_bnr a:hover img{
  opacity:0.9;
}
.loading_ad .popup_bnr img{
  margin:0 auto;
  display:block;
  transition:.5s;
  max-width:100%;
}
.loading_ad.fix .popup_bnr img{
  max-width:100%;
}
.loading_ad.fix{
  background:none;
  max-width:100%;
  width:240px;
  height:auto;
  top: calc(100% - 347px);
  right:0;
  position:fixed;
}
.loading_ad.fix.open{
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  flex-direction:column;
  justify-content: center;
}
.loading_ad.fix .popup_bnr{
  width:240px;
  height:auto;
}
.loading_ad.fix.open .popup_bnr{
  width:720px;
  height:auto;
}
.loading_ad .sp_txt{
  display:none;
}
.loading_ad #close_bnr {
  display:block;
  width:50px;
  height:50px;
  background-color:#ed9c32;
  position: absolute;
  right:0;
  top:0;
  z-index:100;
  cursor:pointer;
  margin:0;
}
.loading_ad #close_bnr span::before,
.loading_ad #close_bnr span::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 60%;
  height: 4px;
  margin: -5% 0 0 -30%;
  background: #fff;
  transition:.6s;
}
.loading_ad #close_bnr span::before {
  transform: rotate(-45deg);
  transition:.2s;
}
.loading_ad #close_bnr span::after {
  transform: rotate(45deg);
  transition:.2s;
}
.loading_ad.fix #close_bnr{
    width:34px;
    height:34px;
}
.loading_ad.fix #close_bnr span::before {
  transform: rotate(-0deg);
}
.loading_ad.fix #close_bnr span::after {
  transform: rotate(90deg);
}
@media screen and (max-width: 980px) {
  .loading_ad.fix .sp_txt{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    position:absolute;
    left:0;
    top:0;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    z-index:100;
    height: auto;
    min-height: 168px;
    background-color:#ed9c32;
    color:#fff;
    padding: 10px 8px;
    transform:translateX(-100%);
    border-radius:5px 0 0 5px;
  }
  .loading_ad .sp_txt p{
    letter-spacing:0.1em;
    font-size:16px;
  }
  .loading_ad .popup_bnr {
    text-align:center;
    transition:.4s;
    position:relative;
    z-index:10;
    max-width:96vw;
    width:340px;
  }
  .loading_ad.fix .popup_bnr{
    max-width:100%;
  }
  .loading_ad .popup_bnr img{
    max-width:100%;
    margin:0 auto;
    display:block;
    transition:.2s;
  }
  .loading_ad.fix .popup_bnr img{
    max-width:100%;
    width:340px;
  }
  .loading_ad{
    top: calc(50% - 200px);
    right: calc(50% - 170px);
  }
  .loading_ad.fix{
    background:none;
    display:block;
    right:-240px;
    top: 80px;
  }
  .loading_ad.fix.open{
    transform:translateX(0%);
  }
  .loading_ad #sp_close {
  	display: inline-block;
  	width: 18px;
  	height: 18px;
  	position: absolute;
  	left: 5px;
  	top: 8px;
  }
  .loading_ad #sp_close span::before,
  .loading_ad #sp_close span::after {
  	display: block;
  	content: "";
  	position: absolute;
  	top: 50%;
  	left: 50%;
  	width: 84%;
  	height: 16%;
  	margin: 0% 0 0 -8%;
  	background: #fff;
  	transition:.6s;
  }
  .loading_ad #sp_close span::before {
  	transform: rotate(0deg);
  }
  .loading_ad #sp_close span::after {
  	transform: rotate(90deg);
  }
  .loading_ad.fix.open #sp_close  span::before {
  	transform: rotate(-45deg);
  }
  .loading_ad.fix.open #sp_close  span::after {
    transform: rotate(45deg);
  }
  .loading_ad #close_bnr {
    width:34px;
    height:34px;
  }
  .loading_ad .popup_bnr a.tel{
    pointer-events:auto;
  }
}
/* end/popup bnr */
