/*==========================================================*/
body {
    margin: 0 auto;
    padding: 0;
    font-family: 'Noto Sans JP', sans-serif;
    width: 100%;
    word-wrap: break-word;
    overflow-wrap: break-word;
    font-size: 20px;
}
img {
    border: none;
    margin: 0;
    padding: 0;
    line-height: 0;
    vertical-align: bottom;
    max-width: 100%;
}
.social_buttons {
    margin: 8px auto 0;
    max-width: 1000px;
}
#ContentsArea {
    margin: 0;
    padding: 0;
    text-align: left;
    width: 100%;
}
#header {
    background-color: #fff;
    width: 100%;
}
a {
    text-decoration: none;
    color: #4AC3E2;
    border: none;
}
a:hover {
    color: #37AFFF;
    text-decoration: underline;
}
h1 {
    margin: 0;
    padding: 0;
    line-height: 0;
    border-left: 5px solid #f76a43;
}
h2 {
    font-size: 25px;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin:25px 0 15px;
    border-left: 5px solid #f76a43;
    padding-left: 10px;
}

h2.ttl_con {
    color: #fff;
    font-weight: bold;
    font-size: 17px;
    padding: 5px 10px 5px;
    margin: 20px 0 15px 0;
    background-color: #f76a43;
}
p {
    margin: 0;
    padding: 0 0 10px;
}
.shoulder {
    max-width: 1000px;
    margin: 0 auto;
}
.companyname {
	padding-left: 30px;
	font-weight: 1000;
}

.name {	font-weight: bold;}

.mod {	color: #666;}

.prof {
	font-size: 80%;
}

.prof .fl{
	padding: 1em 1em 1em 1em;
	border-left: 1px solid #f76a43;
}

.orange {
    background: linear-gradient(117.92deg, #E63700 21.16%, #FFC328 91.58%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.foot {
    max-width: 1000px;
    margin: 15px auto;
}
.logobox {
    display: flex;
    justify-content: center;
    align-items: center;
}
.logostyle {
    float: left;
    margin: 0px 3rem 0 0;
}
.companystyle {
    border-left: 5px solid #f76a43;
    padding-left: 3rem;
}
.link a {
    display: block;
    border-bottom: 1px dotted #ccc;
    padding: 5px 0;
}
.link a.noline {
    display: block;
    border-bottom: 1px dotted #fff;
    padding: 5px 0;
}
.phArea {
    background-color: #e6e6e6;
    margin: 30px 0;
}

.photo1 {
    float: left;
    margin: 0px;
    padding: 0;
    max-width: 500px;
    font-size: 90%;
}
.photo1 span {
    font-weight: bold;
    font-size: 120%;
}
.photo2 {
    float: left;
    margin: 0px;
    padding: 0;
    padding-left: 10px;
    font-weight: bold;
    font-size: 120%;
    display: flex;
    align-items: center;
    height: 400px;

}
.photo2 strong {
    font-weight: bold;
    font-size: 120%;
}

.photo3 {
	float: right;
	max-width: 500px;
}

.figure {
	margin: 20px auto 20px;
	max-width: 960px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	border-left: 1px solid #000;
	padding-bottom: 0;
}

.figure p{
	margin: 0!important;
	padding-bottom: 0;
}

.figTtl{
	padding: 10px!important;
	padding-bottom: 10px!important;
	font-size: 90%;
}

.figTxt {
	padding: 10px!important;
	padding-bottom: 10px!important;
	border-bottom: 1px solid #000;
}

.toplead {
    padding: 1rem;
    max-width: calc(995px - 2rem);
    margin: 0 auto 10px;
    font-size: 95%;
}
.cl {
    clear: both;
}
.fl {
    float: left;
}
.fr {
    float: right;
}
.smlTxt {
    font-size: 80%;
}
.smlTxt span {
    display: block;
    font-weight: normal;
}

/*==========================================================*/
#mainTtl {
	position: relative;
	z-index: 10;
	text-align: center;
	margin-bottom: -15px;
	padding-top: 15px;
	border: none;
}
#mainTtl img {
	max-width: 930px;
}
#MainImgArea {
    width: 100%;
    padding: 0;
    margin: 0 auto 0;
    height: 875px;
    /* position: sticky; */
    /* top: 0; */
    position: relative;
    overflow: hidden;
}
#MainImgArea #mv {
	position: absolute;
	width: 1920px;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	max-width: 1920px;
}
#MainImgArea span {
    margin: 0;
    padding: 0;
}
.mvItem {
	position: absolute;
	list-style: none;
	padding: 0;
	margin: 0;
	left: 50%;
	bottom: 40px;
}
.mvItem li {
	position: absolute;
	width: 214px;
	height: 185px;
	line-height: 1;
}
.mvItem li:before {
	content: "";
	display: block;
	position: absolute;
	width: 12%;
	aspect-ratio: 1/1;
	background: #fff;
	border-radius: 100%;
	top: 50%;
}
.mvItem li:nth-child(odd):before {
	transform: translate(-30%,-50%);
	left: 0;
}
.mvItem li:nth-child(even):before {
	transform: translate(30%,-50%);
	right: 0;
}
.mvItem li a {
	display: block;
}
.mvItem #mvItem1 {bottom: 210px;}
.mvItem #mvItem2 {
	/* margin-bottom: -40px; */
	/* margin-left: 130px; */
	bottom: 104px;
	left: 175px;
}
.mvItem #mvItem3 {
	bottom: 0;
	left: 0;
}
.mvItem .num {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
.mvItem .num {
	position: absolute;
	z-index: 10;
	display: block;
}
.mvItem .num img {
	opacity: 1;
	transition: .5s opacity
}
.mvItem a:hover .num img {
	opacity: 0
}
.mvItem .img {
	display: block;
}
.mvItem .img img {
	filter: grayscale(1);
	transition: .5s filter;
}
.mvItem a:hover .img img {
	filter: grayscale(0);
}



.contWrap {
	background: url(main.jpg) repeat-y center top;
	background-size: 1920px auto;
}
.contInner {
	background: #fff;
	width: 90%;
	max-width: 960px;
	margin: auto;
	padding: 35px;
	font-size: 80%;
}
/*==========================================================*/
#MainArea {
    width: 100%;
    margin: 0;
    padding: 0;
    color: #444;
}
*html #MainArea {
    width: 100%;
}
.whitearea {
    max-width: 1000px;
    margin: 0 auto;
    font-size: 80%;
}
.whitearea2 {
    background-color: #fff;
    max-width: 1000px;
    margin: 65px auto;
}
/* margin-top */
.mt1 { margin-top: 1px;}
.mt2 { margin-top: 2px;}
.mt3 { margin-top: 3px;}
.mt4 { margin-top: 4px;}
.mt5 { margin-top: 5px;}
.mt10 { margin-top: 10px;}
.mt15 { margin-top: 15px;}
.mt20 { margin-top: 20px;}
.mt30 { margin-top: 30px;}
.mt40 { margin-top: 40px;}
.mt50 { margin-top: 50px;}
.mt60 { margin-top: 60px;}
/* margin-right */
.mr1 { margin-right: 1px;}
.mr2 { margin-right: 2px;}
.mr3 { margin-right: 3px;}
.mr4 { margin-right: 4px;}
.mr5 { margin-right: 5px;}
.mr10 { margin-right: 10px;}
.mr15 { margin-right: 15px;}
.mr20 { margin-right: 20px;}
.mr30 { margin-right: 30px;}
/* margin-bottom */
.mb0 { margin-bottom: 0px;}
.mb1 { margin-bottom: 1px;}
.mb2 { margin-bottom: 2px;}
.mb3 { margin-bottom: 3px;}
.mb4 { margin-bottom: 4px;}
.mb5 { margin-bottom: 5px;}
.mb10 { margin-bottom: 10px;}
.mb15 { margin-bottom: 15px;}
.mb20 { margin-bottom: 20px;}
.mb30 { margin-bottom: 30px;}
.mb50 { margin-bottom: 50px;}
/* margin-left */
.ml1 { margin-left: 1px;}
.ml2 { margin-left: 2px;}
.ml3 { margin-left: 3px;}
.ml4 { margin-left: 4px;}
.ml5 { margin-left: 5px;}
.ml10 { margin-left: 10px;}
.ml15 { margin-left: 15px;}
.ml20 { margin-left: 20px;}
/* padding-top */
.pt1 { padding-top: 1px;}
.pt2 { padding-top: 2px;}
.pt3 { padding-top: 3px;}
.pt4 { padding-top: 4px;}
.pt5 { padding-top: 5px;}
.pt10 { padding-top: 10px;}
.pt15 { padding-top: 15px;}
.pt20 { padding-top: 20px;}
/* padding-right */
.pr1 { padding-right: 1px;}
.pr2 { padding-right: 2px;}
.pr3 { padding-right: 3px;}
.pr4 { padding-right: 4px;}
.pr5 { padding-right: 5px;}
.pr10 { padding-right: 10px}
.pr15 { padding-right: 15px;}
.pr20 { padding-right: 20px;}
/* padding-bottom */
.pb0 { padding-bottom: 0px;}
.pb1 { padding-bottom: 1px;}
.pb2 { padding-bottom: 2px;}
.pb3 { padding-bottom: 3px;}
.pb4 { padding-bottom: 4px;}
.pb5 { padding-bottom: 5px;}
.pb10 { padding-bottom: 10px;}
.pb15 { padding-bottom: 15px;}
.pb20 { padding-bottom: 20px;}
/* padding-left */
.pl1 { padding-left: 1px;}
.pl2 { padding-left: 2px;}
.pl3 { padding-left: 3px;}
.pl4 { padding-left: 4px;}
.pl5 { padding-left: 5px;}
.pl10 { padding-left: 10px;}
.pl15 { padding-left: 15px;}
.pl20 { padding-left: 20px;}
.pl30 { padding-left: 30px;}
.pl40 { padding-left: 40px;}
/* padding */
.pg1 { padding: 1px;}
.pg2 { padding: 2px;}
.pg3 { padding: 3px;}
.pg4 { padding: 4px;}
.pg5 { padding: 5px;}
.pg10 { padding: 10px;}
.pg15 { padding: 15px;}
.pg20 { padding: 20px;}
.pg30 { padding: 30px;}
.pg40 { padding: 40px;}


.accS {
    padding: 0 5px 0;
    margin: 0 auto;
    font-size: 18px;
}

.sp {
    display: none;
}
@media screen and (max-width:1000px) {
	#MainImgArea #mv {
		position: relative;
		width: 170vw;
	}
	.contInner {
		width: 95%;
	}
    #ContentsArea {
        overflow: hidden;
    }
	.mvItem {
		width: 50%;
		bottom: 5%;
		height: 95%;
	}
	.mvItem li {
		width: 40%;
		height: auto;
	}
	.mvItem #mvItem1 {
		left: 0;
		bottom: 25%;
	}
	.mvItem #mvItem2 {
		left: 33.5%;
		bottom: 12.5%;
	}
	.mvItem #mvItem3 {
		
	}
    .whitearea2 {
        margin-top: 0;
    }
    #MainImgArea {
        margin: 0 auto;
        padding: 0;
        height: auto;
    }
	#mainTtl {
		margin-bottom: -1.5vw;
	}
	.contWrap {
		background-size: 170vw auto;
		background: none;
	}
    .accS {
        padding: 0 20px 0;
        margin: 0 auto;
    }
    h2#ttl1, h2#ttl2, h2#ttl3, h2#ttl4, h2#ttl5, h2#ttl6, h2#ttl7 {
        padding-top: 15px;
    }
    .photo1 {
        float: left;
        margin-right: 20px;
        margin-left: 0px;
        max-width: 200px;
    }
    .photo2 {
        float: right;
        margin-left: 20px;
        margin-right: 0px;
        max-width: 350px;
    }
}
@media screen and (min-width:641px) and (max-width:1000px) {
    h2 {
        font-size: 26px;
    }
    .whitearea {
        padding: 0.5em;
    }
}
@media screen and (max-width:640px) {
    .pc {
        display: none;
    }
    .sp {
        display: inline;
    }
    .contInner {
	margin: auto;
	padding: 5px 5px;
    
    }
    .photo3 {
    	max-width: 50%;
    }
    h2 {
        letter-spacing: 0em;
    }
	.phArea {margin: 10px 0 10px;}
    .logostyle {
        float: none;
        text-align: center;
        margin: 0 auto;
        border-bottom: 2px solid #f76a43;
    }
	.figure {
		margin: 10px auto 10px;
		border-top: 1px solid #000;
		border-right: 1px solid #000;
		border-left: 1px solid #000;
		padding-bottom: 0;
	}

    .whitearea {
        padding: 0 1rem;
    }
    .companystyle {
        margin-top: 2rem;
        padding-left: 1rem;
        text-align: left;
        border: none;
    }
    .logobox {
        display: block;
        text-align: center;
    }
    .toplead {
        font-size: 70%;
    }
    h2#ttl1, h2#ttl2, h2#ttl3, h2#ttl4, h2#ttl5, h2#ttl6, h2#ttl7 {
        font-size: 20px;
        padding: 15px 0 10px;
        margin-bottom: 0px;
    }
    .accS {
        padding: 0 10px 0;
        margin: 0 auto;
        font-size: 15px;
    }
    .photo1 {
        float: none;
        margin: 0px auto;
        max-width: 400px;
    }
    .photo2 {
        float: none;
        margin: 0px auto;
        max-width: 550px;
    }
    h2.ttl_con {
        font-size: 4vw;
        padding: 7 15px;
    }
}
@media screen and (max-width:450px) {
    .whitearea2 {
        margin-top: 0;
        font-size: 3.5vw;
    }
    .acc .sp {
        margin: 0 0 -1px 0;
        padding: 0 0 0 0;
    }
    .br-pc {
        display: none;
    }
    .cb {
        clear: both;
    }
}
@media screen and (max-width:400px) {
    h2 {
        font-size: 4.5vw;
        letter-spacing: 0em;
    }
    h2#ttl1, h2#ttl2, h2#ttl3, h2#ttl4, h2#ttl5, h2#ttl6, h2#ttl7 {
        padding: 5px 0px 5px;
    }
    #ContactArea,
    .linkcap {
        font-size: 4vw;
    }
}
@media screen and (max-width:330px) {
    .figttl {
        padding-left: 0px;
        padding-right: 0px;
    }
    .accS {
        padding: 0;
        margin: 10 auto;
    }
}
