@charset "utf-8";
body {
	margin: 0;
	padding: 0;
    background-image: url(../img/bg001.png);
    background-attachment: fixed;
	background-color: #f9f9f9; /* 全体の背景色 */
	background-size:auto;
    background-position: top;
	color: #333333; /* 全体の文字色 */
	font-size: 100%; /* 全体の文字サイズ */
	font-family:"游ゴシック","ヒラギノ角ゴ Pro", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Hiragino Kaku Gothic ProN","Meiryo","メイリオ", sans-serif;
    font-weight: 500;
}
header {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
    height: 82px;
    background-color: #f9f9f9;
}
header .container {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: end;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
.headA {
	display: inline-block;
	padding-left: 20px;
	padding-right: 20px;
    padding-top: 7px;
    height: 82px;
    vertical-align: bottom;
	text-decoration: none;
    background-color: #f9f9f9;
    box-sizing: border-box;
}
.headA img {
    height: 75px;
}
.headB {
    height: 65px;
    display: flex;
    align-items: center;
}
.headB ul {
	margin: 0 auto;
	padding: 0;
	list-style: none;
}
.headB li {
    display: block;
    flex: 1 0 auto;
    z-index: 99;
}
.headB a {
	display: block;
    padding-top: 4px;
    padding-bottom: 4px;
	padding-left: 20px;
    padding-right: 20px;
	color: inherit;
	font-size: 16px;
	text-decoration: none;
}
.headB a:hover {
	background-color: rgba(0,0,0,0.3);
}
.headB ul li ul {
    display: none;
    margin: 0;
    padding: 0;
    height: auto;
    position: absolute;
    background-color: #eeeeee;
}
.headB ul li:hover ul {
    display: block;
}
.headB ul li ul li {
    border-top: 1px solid #fff;
    border-left: 0;
    text-align: left;
}
.headB ul li ul li:hover {
    /* background-color: rgba(0,0,0,0.3); */
    background-color: rgba(255,255,255,0.2);
}
.headlogo {
    display: flex;
    width: 240px;
    height: 82px;
    background-color: #f9f9f9;
    box-sizing: border-box;
}
.headlogo img {
    width: 200px;
    height: 65px;
    object-fit: contain;
}
.headlogo_box {
    margin: 0;
    text-align: center;
    font-size: 0.85em;
    font-weight: bold;
}
footer {
    color: #fff;
	background-color: #3333cc;
}
footer .container {
	padding: 40px 20px;
}
.footA {
	margin-bottom: 30px;
}
.footA a {
	color: #fff;
	text-decoration: none;
}
.footA h2 {
	margin-top:0;
	margin-bottom: 10px;
	font-size: 30px;
	letter-spacing: 0.1em;
}
.footA p {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 14px;
}
.footB div {
	margin-bottom: 20px;
}
.footB h3 {
	margin-top: 0;
	margin-bottom: 0px;
	border-bottom: solid 1px currentColor;
	font-size: 14px;
}
.footB ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.footB a {
	display: block;
	padding: 5px;
	color: inherit;
	font-size: 12px;
	text-decoration: none;
}
.footB a:hover {
	background-color: rgba(0,0,0,0.3);
}
.footC {
	font-size: 12px;
	text-align: center;
}
.ulogo {
    width: 1000px;
    height: 65px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 20px;
	padding-left: 20px;
    background-color: #f9f9f9;
}
.toiawase {
    width: 1000px;
    margin-top: 30px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 20px;
    text-align: center;
}
.toiawase .container{
    display: flex;
    justify-content: center;
}
.toiawase .toform {
    display: flex;
    align-items: center;
    margin: 10px;
    width: 360px;
    height: 120px;
    color: #ffffff;
    background-color: #3333cc;
    border: solid 2px #3333cc;
    border-radius: 8px;
    box-sizing: border-box;
}
/* .toiawase .toform {
    width: 360px;
    margin-left: auto;
    margin-right: auto;
    color: #ffffff;
    background-color: #3333cc;
    border: solid 2px #3333cc;
    border-radius: 5px;
} */
.toiawase .btn {
    padding: 20px;
    font-size: 1.2em;
    font-weight: bold;
}
.toiawase .toform:hover {
    background-color: #ffffff;
    color: #3333cc;
}
.toiawase .toform img {
    filter: drop-shadow(2px 2px 2px #3333cc);
}
.toiawase .btn:hover {
    color: #3333cc;
}
.toiawase .mail {
    display: flex;
    align-items: center;
    margin: 10px;
    width: 360px;
    height: 120px;
    background-color: #33cccc;
    border-radius: 8px;
}
.toiawase .phone {
    display: flex;
    align-items: center;
    margin: 10px;
    width: 360px;
    height: 120px;
    background-color: #ff9933;
    border-radius: 8px;
}
.toiawase img {
    margin: 10px;
    width: 75px;
    height: 60px;
}
.toiawase h3 {
    margin: 10px;
    padding: 5px;
    color: #0000ff;
    background-color: #ffffff;
    border-radius: 5px;
}
.toiawase p {
    margin: 20px;
    color: #ffffff;
    font-weight: bold;    
}
.toiawase a {
    color: #ffffff;
    text-decoration: none;
}

/* index.htm */
.conA {
    margin-top: 82px;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
}
.conA .title {
    padding-left: 20px;
}
.conA .swiper-container {
    width: 100%;
    margin: 0 auto;
    overflow: visible;
}
.conA .swiper-slide {
    position: relative;
}
.conA .swiper-slide img {
    width: 100%;
    height: 80vh;
    object-fit: cover;
}
.conA .swiper-slide .kanji {
    position: absolute;
    left: 68vw;
    top: 1vh;
    margin: 0;
    height: 600px;
    text-shadow: 6px 6px 8px #000000;
    font-size: 12vw;
    font-weight: bold;
    z-index: 99;    
}
.conA .swiper-slide .sou {
    color: #ad6200;
}
.conA .swiper-slide .kai {
    color: #35b253;
}
.conA .swiper-slide .zou {
    color: #2996e2;
}
.conA .swiper-slide .hiki {
    color: #f01e00;
}
.conA .swiper-slide span {
    padding-left: 5px;
    color: #ffffff;
    text-shadow: none;
    font-size: 3vw;
    font-weight: bold;
    z-index: 20;
}
.conA .swiper-slide .swiper_text_box {
    position: absolute;
    left: 70vw;
    top: 12vh;
    background-color: #3399ff;
    width: 30vw;
    height: 28vw;
    box-sizing: border-box;
    z-index: 5;
}
.conA .swiper-slide .swiper_text {
    position: absolute;
    left: 70vw;
    top: 12vh;
    padding: 8vw 1vw 1vw 2vw;
    margin: 0;
    color: #ffffff;
    font-size: 1.5vw;
    font-weight: bold;
    width: 30vw;
    height: 28vw;
    box-sizing: border-box;
    z-index: 20;
}
.conA .swiper-slide .swiper_shadow {
    position: absolute;
    left: 70vw;
    top: 12vh;
    transform: translate(-15px, -15px);
    background-color: rgba(0, 0, 0, 0.3);
    width: 30vw;
    height: 28vw;
    z-index: 10;
}
.conA .swiper-slide h1 {
    margin: 0;
    font-size: 2em;
}
.conA .swiper-slide-prev {
    opacity: 0.5;
}
.conA .swiper-slide-next {
    opacity: 0.5;
}
.conA h1 {
    text-align: left;
}
.conB {
    width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 20px;
}
.conB h3 {
    margin: 0;
    text-align: center;
    color: #0000ff;
}
.conB .container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.conB .box {
    position: relative;
    margin: 40px;
}
.conB .box h2 {
    position: absolute;
    color: #ffffff;
    transform: translate(-50%,-50%);
	top: 40%;
	left: 50%;
    width: 80%;
    text-align: center;
    text-shadow: 2px 2px #000000;
	font-size: 22px;
    z-index: 99;
}
.conB .box .shadow {
    position: absolute;
    top: -4%;
    left: -4%;
    opacity: 50%;
}
.conB .box img {
    width: 280px;
    height: 240px;
    object-fit: cover;
}
.conB .box .shadow :hover {
    opacity: 0%;
}
.conB a {
	text-decoration: none;
}
.conC {
    /* width: 1000px; */
    margin-left: auto;
    margin-right: auto;
    padding-top: 20px;
    background-color: #eeeeee;
}
.conC .container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.conC .box {
    width: 400px;
    margin: 10px;
    padding: 3px;
    background-color: #336699;
    border-radius: 5px;
}
.conC h3 {
    text-align: center;
    color: #0000ff;
}
.conC p {
    padding: 10px;
    color: #ffffff;
    font-weight: bold;
}
.conC .link p {
    color: #336699;
    background-color: #ffffff;
    border-radius: 5px;
    margin: 10px;
}
.conC a {
	text-decoration: none;
}
/* 各ページ共通 */
.content {
    width: 1000px;
    margin: 0 auto;
}
.content .container {
    margin-top: 125px;
}
.content .title {
    position: relative;
    margin: 30px;
    width:380px;
    height: 90px;
    background-color: #3333cc;
}
.content .title h1 {
    position: absolute;
    color: #ffffff;
    transform: translate(-50%,-50%);
	top: 25%;
	left: 50%;
    width: 80%;
    text-align: center;
    text-shadow: 2px 2px #000000;
	font-size: 30px;
    z-index: 99;
}
.content .shadow {
    position: absolute;
    top: -10%;
    left: -4%;
    opacity: 50%;
}
.intro {
    width: 980px;
    margin: 0 auto;
    padding: 10px;
    background-color: #ffffff;
}
.table {
    width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 50px;
}
.table .bar {
    width: 980px;
    height: 30px;
    padding: 10px;
    color: #ffffff;
    background-color: #3333cc;
    font-weight: bold;
}
.table .text {
    width: 980px;
    padding: 10px;
    color: #333333;
    background-color: #ffffff;
}
/* 事業案内各ページ共通 */
.content2 {
    width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
.content2 .container {
    margin-top: 125px;
}
.content2 .title {
    position: relative;
    margin: 50px;
    width:380px;
    height: 90px;
    background-color: #3399ff;
}
.content2 h1 {
    position: absolute;
    color: #ffffff;
    transform: translate(-50%,-50%);
	top: 25%;
	left: 50%;
    width: 80%;
    text-align: center;
    text-shadow: 2px 2px #000000;
	font-size: 30px;
    z-index: 99;
}
.content2 .shadow {
    position: absolute;
    top: -10%;
    left: -4%;
    opacity: 40%;
}
.details {
    width: 980px;
    margin: 0 auto;
    padding-top: 50px;
    padding-left: 10px;
    padding-right: 10px;
    background-color: #ffffff;
}
.details_img {
    margin: 0 auto;
    text-align: center;
}
.details_img img {
    width: 48%;
}
.text_box {
    width: 90%;
    margin-left: 10px;
}
/* kaitai.htm */
.content2 .kai {
    position: absolute;
    color: #35b253;
    transform: translate(-50%,-50%);
	top: -100%;
    text-shadow: 6px 6px 8px #000000;
    font-size: 110px;
    font-weight: bold;
    z-index: 99;    
}
/* iten.htm */
.content2 .hiki {
    position: absolute;
    color: #f01e00;
    transform: translate(-50%,-50%);
	top: -100%;
    text-shadow: 6px 6px 8px #000000;
    font-size: 110px;
    font-weight: bold;
    z-index: 99;    
}
.kouhou .srm {
    color: #f01e00;
    font-size: 40px;
    font-weight: bold;
    text-shadow: 2px 2px 5px #000000;
}
.kouhou .srm2 {
    padding: 5px;
    color: #ffffff;
    font-size: 1.2em;
    font-weight: bold;
    background-color: #ff6600; 
}
.kouhou .srm3 {
    color: #fbb03b;
    font-size: 30px;
    font-weight: bold;
    text-shadow: 2px 2px 5px #000000;
}
.kouhou .dai {
    color: #f01e00;
    font-size: 40px;
    font-weight: bold;
    text-shadow: 2px 2px 5px #000000;
}
.merit_box {
    display: flex;
    flex-wrap: wrap;
}
.merit h3 {    
    padding: 5px;
    color: #f01e00; 
}
.kyosei_title { 
    padding: 5px;
    color: #f01e00; 
}
/* kyousei.htm */
.content2 .nao {
    position: absolute;
    color: #2996e2;
    transform: translate(-50%,-50%);
	top: -100%;
    text-shadow: 6px 6px 8px #000000;
    font-size: 110px;
    font-weight: bold;
    z-index: 99;    
}
/* doboku.htm */
.content2 .sou {
    position: absolute;
    color: #ad6200;
    transform: translate(-50%,-50%);
	top: -100%;
    text-shadow: 6px 6px 8px #000000;
    font-size: 110px;
    font-weight: bold;
    z-index: 99;    
}
/* kenchiku.htm */
.content2 .zou {
    position: absolute;
    color: #2996e2;
    transform: translate(-50%,-50%);
	top: -100%;
    text-shadow: 6px 6px 8px #000000;
    font-size: 110px;
    font-weight: bold;
    z-index: 99;    
}
/* company.htm */
.table img.img1 {
    padding: 5px;
    float: right;
    width: 260px;
}
.table img.img2 {
    padding: 5px;
    float: right;
    width: 400px;
}
.table .map {
    padding: 30px;
    width: 100%;
    text-align: center;
    background-color: #ffffff;
    box-sizing: border-box;
}
.table .map iframe {
    width: 100%;
    max-width: 800px;
}
.table .maps {
    text-align: center;
    width: 100%;
    box-sizing: border-box;
}
.table .maps iframe {
    width: 100%;
    max-width: 450px;
}
.table :after {
    display: block;
    content: "";
    clear: both;
}
.table1 {
    width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 20px;
}
.table1 .container {
    display: flex;
    flex-wrap: wrap;
}
.table1 .bar {
    width: 980px;
    height: 30px;
    padding: 10px;
    color: #ffffff;
    background-color: #3333cc;
    font-weight: bold;
}
.table1 .text1 {
    width: 280px;
    padding: 9px;
    color: #333333;
    background-color: #ffffff;
    border: 1px solid;
    border-color: #666666;
    border-top: transparent;
    font-weight: bold;
}
.table1 .text2 {
    width: 680px;
    padding: 9px;
    color: #333333;
    background-color: #ffffff;
    border: 1px solid;
    border-color: #666666;
    border-left:transparent;
    border-top: transparent;
}
.text_end {
    text-align: end;
    padding-right: 20px;
}
/* iso.htm */
.table2 {
    width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 30px;
    padding-bottom: 30px;
}
.table2 .container {
    display: flex;
    flex-wrap: wrap;
}
.table2 .bar {
    width: 980px;
    height: 30px;
    padding: 10px;
    color: #ffffff;
    background-color: #3333cc;
    font-weight: bold;
}
.table2 .list1 {
    width: 600px;
    display: flex;
    flex-wrap: wrap;
}
.table2 .isop {
    width: 388px;
    padding: 5px;
    background-color: #dcffff;
    border: 1px solid;
    border-color: #666666;
    border-top: transparent;
    text-align: center;
}
.table2 img {
    width: 300px;
}
.table2 .text1 {
    width: 180px;
    padding: 9px;
    color: #333333;
    background-color: #ffffff;
    border: 1px solid;
    border-color: #666666;
    border-top: transparent;
    font-weight: bold;
}
.table2 .text2 {
    width: 380px;
    padding: 9px;
    color: #333333;
    background-color: #ffffff;
    border: 1px solid;
    border-color: #666666;
    border-left:transparent;
    border-top: transparent;
}
/* contact.htm */
.table3 {
    width: 1000px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 20px;
}
.table3 .container {
    display: flex;
    flex-wrap: wrap;
}
.table3 .text1 {
    width: 280px;
    padding: 9px;
    color: #333333;
    background-color: #dcffff;
    border: 1px solid;
    border-color: #ffffff;
    font-weight: bold;
    box-sizing: border-box;
}
.table3 .text2 {
    width: 680px;
    padding: 9px;
    color: #333333;
    background-color: #ffffe9;
    border: 1px solid;
    border-color: #ffffff;
    box-sizing: border-box;
}
.hissu {
    color: #ff0000;
    margin: 10px;
    padding-left: 5px;
    padding-right: 5px;
    background-color: #ffffff;
    border: 1px solid;
    border-color: #ff0000;
    border-radius: 3px;
    font-size: 0.6em;
}
input {
    height: 30px;
    width: 240px;
}
.send {
    margin-top: 30px;
    text-align: center;
}
.sendbtn {
    width: 80px;
    border-radius: 5px;
    background-color: #ff0000;
    color: #ffffff;
    font-weight: bold;
}
/* policy */
.titlep {
    background-color: #3333cc;
}
.titlep h1 {
    padding: 10px;
    color: #ffffff;
    text-shadow: 2px 2px #000000;
    font-size: 24px;
}

@media (max-width: 1000px) {
    header .container {
        align-items: start;
    }
    .headB {
        margin-top: 65px;
    }
    .conA {
        margin-top: 130px;
    }
    .headlogo_box {
        padding-top: 1px;
        font-size: 0.8em;
        box-sizing: border-box;
    }
}
@media (max-width: 767px) {
    header .container {
		align-items: start;
    }
	header .container-small {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.headB {
        position: absolute;
        right: 40px;
        top: 65px;
		display: none;
        margin: auto;
        height: auto;
	}
    .headB ul {
        display: block;
        margin-left: 0;
        width: 200px;
        /* height: auto; */
        background-color: #cccccc;
    }
    .headB ul li {
        border: none;
        border-bottom: 1px solid #fff;
    }
    /* .headB ul li:hover ul {
        margin-top: -31px;
        margin-left: 200px;
    } */
	.headB ul li ul {
		position: relative;
	}
	.headB ul li:hover ul {
		display: none;
	}
    .headB ul li ul li {
        border: none;
        border-bottom: 1px solid #fff;
    }
	.headC {
		margin-right: 10px;
        margin-left: 10px;
		padding: 0;
		border: none;
		outline: none;
		background: none;
		font-size: 28px;
		opacity: 0.5;
		cursor: pointer;
	}
	.headC:hover {
		opacity: 0.3;
	}
    .conA {
        margin-top: 82px;
    }
    .conA .swiper-slide .kanji {
        left: 5vw;
        font-size: 120px;
    }
    .conA .swiper-slide span {
        font-size: 24px;
        text-shadow: 1px 1px 1px #000000;
    }
    .conA .swiper-slide .swiper_text_box {
        display: none;
        /* left: 7vw;
        width: 320px;
        height: 300px; */
    }
    .conA .swiper-slide .swiper_text {
        left: 7vw;
        padding: 80px 1vw 1vw 1vw;
        width: 320px;
        height: 300px;
        font-size: 16px;
        text-shadow: 1px 1px 1px #000000;
        line-height: 1.8em;
    }
    .conA .swiper-slide .swiper_shadow {
        display: none;
        /* left: 7vw;
        width: 320px;
        height: 300px; */
    }
    .conB {
        width: auto;
        margin-left: auto;
        margin-right: auto;
    }
    .conB .container {
        display: block;
        margin: 0 auto;
        width: 360px;
    }
    .conC {
        display: block;
        width: auto;
    }
    .conC .box {
        margin-left: auto;
        margin-right: auto;
    }
    .toiawase {
        width: auto;
    }
    .toiawase .container {
        display: block;
    }
    .toiawase .toform {
        margin-left: auto;
        margin-right: auto;
    }
    .toiawase .mail {
        margin-left: auto;
        margin-right: auto;
    }
    .toiawase .phone {
        margin-left: auto;
        margin-right: auto;
    }
    .ulogo {
        width: auto;
    }
    .content {
        width: auto;
    }
    .content .shadow img {
        width: 98%;
        height: 90px;
    }
    .content2 {
        margin-left: 5px;
        width: auto;
        box-sizing: border-box;
    }
    .content2 .shadow img {
        width: 98%;
        height: 90px;
    }
    .intro {
        width: auto;
    }
    .details {
        width: auto;
    }
    .details img {
        width: 100%;
    }
    .merit img {
        float: none;
    }
    .table {
        width: auto;
    }
    .table .bar {
        width: auto;
    }
    .table .text {
        width: auto;
    }
    .table .text img {
        float: none;
    }
    .table .map {
        display: none;
    }
    .table1 {
        width: 400px;
    }
    .table1 .bar {
        width: 400px;
    }
    .table1 .text1 {
        width: 400px;
        background-color: #ccffff;
    }
    .table1 .text2 {
        width: 400px;
        border-left: 1px solid;
    }
    .table2 {
        width: 400px;
    }
    .table2 .bar {
        width: 400px;
    }
    .table2 .text1 {
        width: 400px;
    }
    .table2 .text2 {
        width: 400px;
        border-left: 1px solid;
    }
    .table2 .list1 {
        width: 400px;
    }
    .table2 .isop {
        width: 400px;
    }
    .table3 {
        width: 400px;
    }
    .table3 .bar {
        width: 400px;
    }
    .table3 .text1 {
        width: 400px;
    }
    .table3 .text2 {
        width: 400px;
    }
    .table3 .text2 textarea {
        width: 380px;
    }
}
@media (max-width: 400px) {
    .table1 {
        width: 100%;
    }
    .table img.img2 {
        width: 100%;
        box-sizing: border-box;
    }
}

@media (min-width: 1000px) {
    .conA .swiper-slide .kanji {
        font-size: 150px;
    }
    .conA .swiper-slide span {
        font-size: 28px;
    }
    .conA .swiper-slide .swiper_text_box {
        width: 320px;
        height: 300px;
    }
    .conA .swiper-slide .swiper_text {
        padding: 120px 1vw 1vw 1vw;
        width: 320px;
        height: 300px;
        font-size: 16px;
    }
    .conA .swiper-slide .swiper_shadow {
        width: 320px;
        height: 300px;
    }

}
@media (min-width: 768px) {
	header .container {
		display: flex;
		justify-content: space-between;
		max-width: 1000px;
		margin-left: auto;
		margin-right: auto;
	}
	/* .headB {
		display: block !important;
	} */
	.headB ul {
		display: flex;
	}
	.headC {
		display: none;
	}
	footer .container {
		display: flex;
		flex-wrap: wrap;
		max-width: 1000px;
		margin-left: auto;
		margin-right: auto;
	}
	.footA {
		flex: 0 0 40%;
	}
	.footB {
		display: flex;
		flex: 0 0 60%;
	}
	.footB div {
		flex: 1;
	}
	.footB div:not(:first-child) {
		margin-left: 40px;
	}
	.footC {
		flex: 0 0 100%;
	}
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
	/* index.htm */
	.conB .container {
		display: flex;
		max-width: 1000px;
		margin-left: auto;
		margin-right: auto;
	}
	.conB .text {
		flex: 1;
	}
    /* map */
    .table .maps {
        display: none;
    }
}

/* reCAPTCHA　中央寄せ用 　ここから*/
#recaptcha_area {
    text-align: center;
}

#html_element {
    margin-right:auto;
    margin-left:auto;
    text-align: center;
    width:300px;
    margin-top:20px;
}
/* reCAPTCHA　中央寄せ用 　ここまで*/