@charset "utf-8";
@import "menu.css";


html {
    scroll-behavior: smooth;
    font-family: sans-serif;
    /* font-family: "Zen Kaku Gothic New"; */
    /* font-weight: 300; */
}
input, select {
    /* -webkit-appearance: none;
    appearance: none; */
    /* border: 1px solid #000;
    border-radius: 0px; */
  }
h1,h2,h3,menu,p{
    margin: 0;
    padding: 0;
    font-weight: normal;
}
ul{
    list-style: none;
    padding: 0;
    margin: 0;
}
*{
    position: relative;
}
body {
    padding:0;
    margin: 0;
    background-color: #f2f5f9;
    overflow-x: hidden;
    
}
p{
    text-align: justify;
}
menu{
    margin: 0;
    padding: 0;
}

/* 強調表示 */
em{
    font-style: normal;
    font-weight: bold;
    color: #065736;
    padding-bottom: 2px;
    border-bottom: dotted 1px #065736;
}
strong{
    font-weight: bold;
    color: #c80000;
    border-bottom: solid 1px #c80000;
    padding-bottom: 2px;

}
span.red{color: #c80000;}
span.blue{color: #004fc6;}
span.green{color: #065736;}
span.pink{color: #ff00b7;}


header{
    background-color: #065736;
    background-color: #065736;
}
header>div{
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    width: 1024px;
    margin: auto;
}
header p.topTxt{
    margin: 0;
    box-sizing: border-box;
    width: 100%;

    font-size: .5em;
    text-align: right;
}
header h1{
    /* background-color: #d6f5dd; */
    font-size: 1em;
    width: 260px;
    height: 80px;
    padding: 8px 0;
    background-image: url(../img/logo.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
header h1>span{
    font-weight: 600;
    color: #fff;
    font-size: 2.4em;
    display: none;
}

header div.tel{
    display: flex;
    flex-flow: column;
    align-items: flex-end;
    justify-content: center;
}
header div.tel>div.num{
    font-size: 2.2em;
    line-height: 100%;
    color: #fff;
    font-weight: bold;
    font-family: "Oswald", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}
header div.tel>div.txt{
    font-size: .84em;
    color: #e4dfc0;
}
header div.tel>div.mail{
    font-size: .84em;
    color: #acd1a2;
    border-bottom: dashed 1px #acd1a2;
}
header div.tel>div.mail:hover{
    border-bottom: solid 1px #fff;
}
header div.tel>div.mail>a{
    color: inherit;
    text-decoration: none;
}
header div.tel>div.mail>a:hover{
    color: #fff;
}

header menu.hmenu{
    box-shadow: 0 -3px 5px -5px#000000ee ;
    background: linear-gradient(to Bottom, #ffffff, #e0e3ea);
    position: relative;
    border-bottom: #065736 solid 4px;
}

header menu.hmenu>ul{
    width: 1024px;
    margin: auto;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-evenly;
    align-items: center;
    border-left:  #00000022 solid 1px;
}

header menu.hmenu>ul>li{
    flex-grow: 1;
    border-right: #00000022 solid 1px;
    transition: all .2s ease;
    position: relative;
}
header menu.hmenu>ul>li::before{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(to Top, #ffffff, #e0e3ea);
    height: 100%;
    opacity: 0;
    transition: all .2s;
}

header menu.hmenu>ul>li:hover::before{
    opacity: 1;
}

header menu.hmenu>ul>li>a{
    display: flex;
    flex-flow: column;
    font-size: .76em;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: inherit;
}
header menu.hmenu>ul>li>a>div{
    width: 100px;
    height: 40px;
    margin: .5em auto 0;
    background-size: auto 60%;
    background-position: center;
    background-repeat: no-repeat;
}
#home>a>div{
    background-image: url(../img/icon_home.svg);
}
#uru>a>div{
    background-image: url(../img/icon_uru.svg);
}
#kau>a>div{
    background-image: url(../img/icon_kau.svg);
}
#list>a>div{
    background-image: url(../img/icon_list.svg);
}
#contact>a>div{
    background-image: url(../img/icon_mail.svg);
}
#qanda>a>div{
    background-image: url(../img/icon_qanda.svg);
}


header menu.hmenu>ul>li>a>span.main{
    font-weight: bold;
    text-shadow: 0 0px 0px #004fc655;
    transition: all .2s;
    padding: .2em 0 .8em;
}
header menu.hmenu>ul>li:hover>a>span.main{
    text-shadow: 0 1px 2px #004fc655;
}



div.mvWrapper{
    height: 363px;
    background: linear-gradient(to bottom, #ddd ,#eee);
    box-shadow: 0 0 20px #00000055;
}
div.mv{
    width: 1024px;
    height: 100%;
    background-color: #a6a6a6;
    margin: 0 auto;
    background-image: url(../img/mv.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}


/* TOPの大きなボタン */

div.buttons{
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 2%;
    padding: 20px;
    margin-bottom: 40px;
}
div.buttons>a{
    width: 49%;
    box-sizing: border-box;
    display: block;
    flex-grow: 1;
    flex-shrink: 0;
    min-height: 200px;
    padding: 20px;
    text-decoration: none;
    color: inherit;
    font-weight: bold;
    background-repeat: no-repeat;
    background-size: 30%;
    background-position: right 20px bottom;
}
div.buttons>a>p{
    margin: 1em 1em 0;
    font-size: .92em;
}
div.buttons>a>div.primary{
    font-size: 2.3em;
}
div.buttons>a>div.secondary{
    font-size: 1.4em;   
}
div.buttons>a.uri{
    background-color: #ff7b0033;
    background-image: url(../img/urite.svg);
    transition: all .2s ;
}
div.buttons>a.kai{
    background-color: #3b5f9533;
    background-image: url(../img/kaite.svg);
    transition: all .2s ;
}
div.buttons>a.uri:hover{
    background-color: #fb9b42;
    color: #fff;
}
div.buttons>a.kai:hover{
    background-color: #5593ff;
    color: #fff;
}

/* 二階層目特殊ヘッダ */

div.shead{

}
div.shead.uri{
    background-color: #ff7b0033;
    background: linear-gradient(to right, #ff7b0033, #fb9b42);
}
div.shead.kai{
    background-color: #3b5f9533;
    background: linear-gradient(to right, #3b5f9533, #5593ff);
}
div.shead>div{
    display: flex;
    align-items: center;
    width: 1024px;
    margin: auto;
    height: 200px;
    background-image: url(../img/urite.svg);
    background-repeat: no-repeat;
    background-size: 140px;
    background-position: left 20px bottom;
}
div.shead.uri>div{
    background-image: url(../img/urite.svg);
}
div.shead.kai>div{
    background-image: url(../img/kaite.svg);
}
div.shead>div>h1{
    margin: 0;
    padding-left: 180px;
    font-weight: bold;
}


div.headline{
    padding: 2em 0;
}

div.headline span{
    font-size: 2.6em;
    color: #065736;
    font-weight: bold;
}


/* メインカラム */

article::after {
    content: " ";
    display: block;
    clear: both;
}

main{
    display: flex;
    flex-flow: column wrap;
    justify-content: flex-start;
    width: 1024px;
    margin: 0 auto;
    min-height: 650px;
    padding-top: 20px;
}

main>nav.crumbs{
    font-size: .84em;
    margin: 20px 0;
    width: 100%;
    box-sizing: border-box;
}

main>div.content{
    box-sizing: border-box;
}

main>div.content>article:not(.tejun){
    border-radius: 8px 8px 0 0;
    background: linear-gradient(to bottom, #ffffff ,#ffffff22);
    margin-bottom: 40px;
    padding-bottom: 1px;
}

article:not(.tejun)>img{
    display: block;
    float: right;
    margin: 18px 30px 18px;
    width: 360px;
    height: 240px;
}
main>div.content>article:not(.tejun)>h2{
    display: flex;
    flex-flow: row;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    border:solid 1px #aaa;
    border-radius: 8px 8px 0 0;
    border-bottom: #065736 solid 4px;
    padding: 10px;
    font-size: .92em;
    font-weight: bold;
    background: linear-gradient(to top, #ddd ,#fff);
    color: #065736;
    margin-bottom:20px;
}
main>div.content>article:not(.tejun)>h2::before{
    content: "";
    display: block;
    width: 0px;
    height: 0px;
    box-sizing:content-box;
    border: solid 5px;
    border-color:transparent transparent transparent #065736;
    position: relative;
    left: 7px;
}
main>div.content>article>h3{
    padding: 30px 30px 0;
    font-size: 1em;
    font-weight: bold;
    color: #445f44;
}
main>div.content>article>p{
    padding: 15px 30px 15px;
    font-size: .92em;
    line-height: 180%;
}

main>div.content>article a{
    color: #07116c;
    text-decoration: underline;
}


main>div.content>article>a.btn{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 20px;
    background-color: #065736;
    color: #e4dfc0;
    width: fit-content;
    margin: 2em auto;
    border-radius: 100px;
    font-weight: 600;
    text-decoration: none;
    top: 0;
    box-shadow: 0 0 0 #00000055;
    transition: all .2s ease;
}
main>div.content>article>a.btn:hover{
    color: #065736;
    background-color: #e4dfc0;
    top: -2px;
    box-shadow: 0 2px 2px #00000055;
}


main>div.content>article a:hover{
    color: #00c234;
}
main>div.content>article>ul{
    font-size: .84em;
    margin: 30px;
    height: 140px;
    overflow-y: scroll;
    margin-bottom: 20px;
}
main>div.content>article>ul>li{
    display: flex;
    gap: 20px;
    border-bottom: #ccc 1px solid;
    padding: 4px 0;
}





menu.gyoshu{
    margin: 0 auto 30px;
    padding: 0;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    width: fit-content;
    box-shadow: 0 1px 5px 0px #00000055;
}
menu.gyoshu>a{
    display: flex;
    align-items: center;
    padding: 1em;
    border-right: dotted 1px #00000033;
    color: #444;
    font-weight: 600;
    text-decoration: none;
    transition: all .2s ease;
}
menu.gyoshu>div{
    display: flex;
    align-items: center;
    padding: 1em;
    border-right: dotted 1px #00000033;
    color: #fff;
    background-color: #004fc6;
    font-weight: 600;
    text-decoration: none;
    transition: all .2s ease;
}
menu.gyoshu>a:last-child{
    border: none;
}
menu.gyoshu>a:hover{
    background-color: #e4dfc0;
    color: #000;
}


div.tableWrapper{
    padding: 30px;
}
table.list{
    position: relative;
    width: 100%;
    margin: auto;
    background-color: #aaa;
    font-size: .76em;
    border-collapse: collapse;
    box-shadow: 0 5px 10px -10px #00000055;
}
table.list tr{
    /* background: linear-gradient( 85deg, #acd1a2, #acd1d1); */
    background-color: #acd1a2;
}
table.list tr th:not(:last-child){
    border-right: solid 1px #fff;
}
table.list th{
    padding: 8px;
}
table.list td{
    padding: 8px;
    background-color: #fff;
    border-right: solid 1px #ccc;
    min-width: 6em;
    text-align: center;
}
table.list td.price{
    font-weight: bold;
    font-size: 1.4em;
}

table.list td.txt{
    text-align: left;
}
table.list td.txt.maintxt{
    font-size: 1.2em;
    padding: 2em;
}
table.list td:last-child{
    border: none;
}
table.list tr:not(:last-child){
    border-bottom: solid 1px #ccc;
}
table.list tr{
    border-bottom: solid 1px #ccc;
}
table.list td.touhon {
    padding: 4em 2em;
}
table.list td.touhon img{
    display: block;
    min-height: 100px;
    max-width: 65%;
    margin: auto;
    background-color: #ccc;
    border:solid 1px #00000055;
}

main>div.content>article a.back{
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: .5em 1.5em;
    border-radius: 5em;
    background-color: #065736;
    color: #fff;
    text-decoration: none;
    margin: 20px auto;
    font-size: .86em;
    font-weight: bold;
    transition: .2s all ease;
}
main>div.content>article a.back:hover{
    color: #065736;
    background-color: #e4dfc0;
}

div.dummybox{
    margin: 0;
    padding: 0;
}
div.dummybox>span{
    display: flex;
    flex-flow: row;
    justify-content: center;
    align-items: center;
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 900;
    background-color: #ffffff77;
    background-image: url(../img/dummy.jpg);
    background-position: center;
    background-size: cover;
}

div.dummybox>span>span{
    display: block;
    text-align: center;
    width: fit-content;
    background-color: #fff;
    padding: 1em 1.5em;
    font-size: .92em;
    box-shadow: 0 0 5px -2px #00000099;
}









div.blink{
    display: inline-block;
    width: fit-content;
    font-size: .68em;
    padding: 1px 3px;
}
div.blink.red{
    background-color: #c80000;
    color: #e5ff00;
}
div.blink.orange{
    background-color: #ff7b00;
    color: #fff;
}
div.blink.lime{
    background-color: #00c234;
    color: #fff;
}
div.blink>span{
    animation: blinker 1s step-end infinite;
}
@keyframes blinker{
    0% { opacity: 1; }
    25% { opacity: 0; }
    50% { opacity: 1; }
    75% { opacity: 0; }
    80% { opacity: 1; }
    90% { opacity: 0; }
    100% { opacity: 1; }
}






/* 手順 */

div.tejunWrapper{
    background:linear-gradient(#fb9b42, #00c29b, #297eff);
    display: flex;
    flex-flow: column nowrap;
    margin-bottom: 40px;
}
div.tejunWrapper.rev{
    background:linear-gradient(#297eff, #00c29b, #fb9b42);
}

article.tejun{
    display: flex;
    flex-flow: row nowrap;
    min-height: 150px;
}
article.tejun>h2{
    display: flex;
    flex-flow: row nowrap;
    flex-shrink: 0;
    width: 120px;
    background: linear-gradient(transparent, #fff);
}

article.tejun>h2>div{
    width: 100%;
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: center;
    color: #000;
    text-shadow: 0 0 2px #ffffffaa;
    background-image: url(../img/down.svg);
    background-size: contain;
    background-position:  center top;
    background-repeat: no-repeat;
    font-family: "Oswald", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    padding: 40px 0;
}

article.tejun:first-child>h2>div{
    background-image: none;
}




article.tejun>h2>div>span{
    font-size: .82em;
}
article.tejun>h2>div>div{
    font-size: 1.4em;
    font-weight: bold;
    line-height: 100%;
}
article.tejun>h2>div>p{
    font-size: .65em;
    font-weight: bold;
    text-align: center;
}
article.tejun>p{
    background-color: #fff;
    flex-grow: 1;
    display: block;
    padding: 1.5em;
    border-bottom: solid 1px #00000033;
}
article.tejun:last-child>p{
    border-bottom: solid 1px #00000000;
}
article.tejun>img{
    display: block;
    width: 300px;
    height: auto;
}




/*
QandA
*/

div.qna{
    margin: 0 0 30px 0;
}
div.question{
    background-color: #065736;
    padding: 20px;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}
div.question>*{
    font-size: inherit;
}
div.question>div{
    font-family: "Oswald", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-size: 4em;
    color: #e4dfc0;
    padding: 0 20px;
    line-height: 100%;
}
div.question>h2{
    color: #e4dfc0;
    padding: 0;
    margin: 0;
}
div.answer{
    background-color: #e4dfc0;
    padding: 40px 20px 20px;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}
div.answer>div{
    font-family: "Oswald", serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-size: 4em;
    color: #065736;
    padding: 0 20px;
    line-height: 100%;
}
div.answer::before{
    content: "";
    display: block;
    border-style: solid; 
    border-color: #065736 transparent transparent transparent;
    border-width: 20px;
    position: absolute;
    top: 0;
    left: calc(50% - 20px);
}









/* 会社概要 */


div.cGaiyo{
    width: fit-content;
    margin: auto;
    min-width: 600px;
    border-top: solid 1px #519268;
    border-right: solid 1px #519268;
}

div.cGaiyo>ul>li{
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
}
div.cGaiyo>ul>li>div.title{
    width: 8em;
    flex-shrink: 0;
    padding: 1em .5em;
    background-color: #065736;
    text-align: center;
    color: #d1eada;
    border-bottom: solid 1px #519268;
}
div.cGaiyo>ul>li>div.body{
    padding: 1em;
    flex-grow: 1;
    background-color: #d1eada;
    border-bottom: solid 1px #065736;
}














/*フォーム*/

form{
    display: block;
    margin: auto;
    width: fit-content;
    padding: 40px;
}

form>h2{
    font-weight: bold;
    color: #065736;
    margin-bottom: 40px;
}
form>h2>span{
    font-size: 25px;
    padding: 10px;
    background-color: #065736;
    color: #fff;
    line-height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    width: 25px;
    height: 25px;
    border-radius: 10px;
}
div.formBlockWrapper{
    margin: 20px 0;
}

div.formBlock{
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    justify-content: stretch;
    padding: 0 0 40px;
}
div.itemName{
    color: #000;
    width: 15em;
    padding: 1em 1em 1em 0;
    text-align: center;
    flex-shrink: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-weight: bold;
}
div.itemBody{
    flex-grow: 1;
    padding: 1em;
}
form>h3{
    background-color: #d1eada;
    padding: .5em;
    border: #065736 solid 1px;
    font-size: inherit;
    text-align: center;
    margin-top: -1px;
}
div.formBlock:first-child div.itemName{
    border-width: 1px 1px 1px 1px;
}
div.formBlock:first-child div.itemBody{
    border-width: 1px 1px 1px 0;
}
div.formSubmitBlock{
    display: flex;
    flex-flow: row nowrap;
    gap: 20px;
    margin-top: -1px;
    padding: 40px 0;
    align-items: center;
    justify-content: center;
    background-color: #519268;
}
div.formSubmitBlock input{
    font-size: 1.2em;
}

input.longform{
    width: 20em;
}
input[type="text"],
input[type="email"],
input[type="pass"],
input[type="tel"],
textarea{
    padding: 1em;
    border: solid 1px ;
    border-radius: 6px;
    border-color: #065736;
    font-size: 1em;
    background-color: #d1eada;
}

menu.fmenu{
    background-color: #fff;
    padding: 15px 0;
    font-size: .78em;
    margin: 40px 0 0 ;
}
menu.fmenu>div{
    display: flex;
    flex-flow: row;
    justify-content: center;
    align-items: center;
    gap: 2em;
}
menu.fmenu>div>a{
    color: inherit;
    text-decoration: none;
}
footer{
    background-color: #065736;
    /* font-family: "Oswald", serif; */
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
}
footer>section{
    display: flex;
    width: 1024px;
    margin: 0 auto;
    flex-flow: row;
    align-items: flex-end;
    justify-content: space-between;
    padding: 4em 1em;
    box-sizing: border-box;
    color: #e4dfc0;
}
footer>section>div.info{
    color: #e4dfc0;
}

footer>section>div.info>div.name{
    font-size: 1em;
}
footer>section>div.info>div.adr{
    font-size: 0.76em;
}
footer>section>div.info>div.tel{
    font-size: 1em;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: .5em;
}
footer>section>div.info>div.tel>span:first-child{
    font-size: .5em;
}
footer>section>div.info>div.tel>span:last-child{
    font-size: 1.1em;
    font-weight: 300;
}

footer>section>div.logo{
    display: flex;
    flex-flow: column nowrap;
    align-items: flex-end;
    justify-content: space-between;
}
footer>section>div.logo>address{
    font-size: .68em;
}

footer>section>div.logo>div.logo{
    width: 180px;
    height: 60px;
    background-image: url(../img/logo.svg);
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}

footer address{
    font-style: normal;
}

.tNum>a{
    color: inherit;
    text-decoration: none;
}



























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

    
}


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

    

}

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







}


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


    

}



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

    


    




}

