/*=========== responsive for the site ===========*/

@media only screen and (max-width: 1200px) {
    .header__contact p {
        font-size: 14px;
    }
    .header__logo img {
        max-width: 300px;
    }
    .main-menu li a {
        padding-left: 20px;
        padding-right: 20px;
    }
    #back-to-top {
        width: 70px;
        height: 70px;
    }

.eye-catch__home {
	width: 100%;
	margin: 0 auto;
}
				
.eye-catch__home ul li img {
    display: block;
    width: 100%;
    object-fit: cover;
}

}
@media only screen and (max-width: 1024px) {
    header {
        position: relative;
    }
    .header__contact {
        display: none;
    }
    .header__nav {
        position: absolute;
        top: 100%;
        width: 100%;
        height: auto;
        z-index: 10;
        background-color: #008c55;
        box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.25);
        display: none;
								z-index: 1000;
    }
    .main-menu li a {
        position: static;
        padding: 10px 20px;
        color: #fff;
    }
    .main-menu li a:hover {
        color: #fff;
        opacity: 0.7;
    }
    .contact-link__sp {
        display: block;
    }
    .header__contact-link-sp {
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #ff9900;
        color: #fff;
        font-size: 18px;
        font-weight: 600;
        padding: 10px;
        border-radius: 6px;
        gap: 10px;
    }
    .header__contact-link-sp svg {
        margin-top: 2px;
    }
    .main-menu {
        flex-wrap: wrap;
        flex-direction: column;
        padding: 10px 0px;
    }
    .main-menu li {
        width: 100%;
    }
    .header__button-sp {
        display: flex;
        align-items: stretch;
        flex: 1;
        justify-content: flex-end;
        gap: 8px;
    }
    .header__button-sp img {
        width: 48px;
        height: 48px;
        object-fit: cover;
    }
    .header__button-sp .burger {
        cursor: pointer;
    }
    .wrap__links {
        gap: 24px;
    }

.eye-catch__home .text img {
	width: 330px;
}

.eye-catch__home .illust img {
	width: 200px;
}
    
}
@media only screen and (max-width: 768px) {
    .eye-catch__home > img {
        min-height: 130px;
        object-fit: cover;
    }
    .header__logo img {
        max-width: 170px;
    } 
    .header__button-sp {
        gap: 4px;
    }
    .header__button-sp img {
        width: 35px;
        height: 35px;
    }
				.main-menu li {
					border-bottom: 1px dotted #FFF;
				}
    .main-menu li a,
    .header__contact-link-sp {
        font-size: 16px;
        font-weight: 400;
    }
    section.section {
        padding: 60px 0px;
    }
    section.hot-news {
        padding-top: 45px;
    }
    .section__title h2 {
        font-size: 24px;
        flex-wrap: wrap;
        gap: 10px;
        row-gap: 4px;
    }
    .section__title h2 span {
        font-size: 12px;
        padding-left: 6px;
    }
    .section__title {
        padding-bottom: 20px;
    }
    .hot-news__list {
        padding: 0px;
        flex-wrap: wrap;
    }
    .hot-new__item {
        width: calc(100%/2 - 5px);
        padding: 20px 6px 10px;
								margin-right: 10px;
    }
				.hot-new__item:nth-child(2n) {
					margin-right: 0;
				}
    .hot-new__item .cat {
        font-size: 12px;
    }
    .hot-new__item .thumb img {
        min-height: 84px;
    }
    .hot-news__link {
        padding-top: 5px;
    }
    .wrap__news {
        flex: auto;
        width: 100%;
        padding-bottom: 40px;
    }
    .aside-banner {
        padding-left: 0px;
        width: 90%;
        margin: 0 auto;
    }
    .wrap__links {
        flex-wrap: wrap;
        flex-direction: column;
        align-items: center;
    }
    .wrap__links .__item {
        min-height: 60px;
        width: 100%;
        max-width: 320px;
    }
    .footer-top__inner {
        flex-wrap: wrap;
    }
    .footer__info {
        width: 100%;
        padding-right: 0px;
        padding-bottom: 40px;
    }
    .footer__copyright {
        font-size: 14px;
    }
    #back-to-top {
        width: 50px;
        height: 50px;
    }
    #back-to-top svg {
        width: 25px;
        height: 25px;
    }
    .new-line__item span {
        padding-right: 20px;
    }
    .new-line__item {
        font-size: 14px;
    }
    .hot-news .section__title {
        padding-bottom: 10px;
    }
    .footer__menus {
        gap: 24px;
    }
    .footer__menu-block li a {
        font-size: 15px;
    }

.eye-catch__home .text img {
	width: 200px;
}

.eye-catch__home .illust {
	right: 10px;
}

.eye-catch__home .text {
	left: -10px;
}

.eye-catch__home .illust img {
	width: 160px;
}

.news__list {
	flex-wrap: wrap;
}

.news__list li {
	width: 96%;
	margin: 0 2% 20px;
}

.news__list li .date {
	margin: 2px 0 4px;
	display: block !important;
}


.news__list li span.new {
				display: inline-block;
				margin-right: 8px;
				background-color: #ff9900;
				color: #FFF;
				border-radius: 12px;
				padding: 0 6px;
}


}
@media only screen and (max-width: 375px) {
    .main-menu li a {
        padding-left: 0px;
        padding-right: 0px;
    }
    section.hot-news {
        padding-top: 35px;
    }
.eye-catch__home .text img {
	width: 160px;
}

.eye-catch__home .illust {
	right: 10px;
}

.eye-catch__home .illust img {
	width: 100px;
}
    
}


@media only screen and (max-width: 1024px) {
.sp {
	display: block;
}

.pc {
	display: none;
}

.alignright,
.alignleft,
.aligncenter {
	display: block;
	margin: 0 auto 20px;
	float: none;
}

.section__title h2 {
	gap: 0;
}

.new-line__item span {
	display: block;
}

.section__title h2 span.mini {
	padding: 0;
	font-size: 16px;
}

.rbnr	{
	text-align: center;
}

.aside__link {
	display: inline-block;
}

.rbnr	img {
	width: auto;
}

.wrap__links ul {
	display: block;
}

.wrap__links ul li {
	width: 100%;
	text-align: center;
	margin: 0 0 10px;
}

.wrap__links ul li img {
	display: inline-block;
}

section.section {
	padding: 50px 0 30px;
}

.footer__menu-block {
	display: flex;
	flex-wrap: wrap;
}

.footer__menu-block li {
	width: 50%;
	border-bottom: 1px solid #FFF;
}

.footer__menus {
	display: block;
}
	
.footer__menu-block li a {
 font-size: 14px;
	padding: 5px 8px 8px 0;
}


.secondTitle {
	height: 120px;
}

.secondTitle .text h1 {
	font-size: 24px;
}

.pan {
	width: 94%;
	margin: 0 auto;
}

.pan ul {
	flex-wrap: wrap;
}

#second {
	width: 94%;
	margin: 0 auto;
	padding: 40px 0;
}

#second h2 {
	font-size: 20px;
	line-height: 1.4;
}

#second h3 {
	font-size: 20px;
}

#second .hot-new__item h3 {
	font-size: 20px;
}

.subMenu li {
	width: 48%;
	margin: 0 1% 20px;
}

.subMenu li:nth-of-type(3n-1) {
	margin: 0 1% 20px;
}

.scroll{
margin: 0 0 20px;
overflow: auto;
white-space: nowrap;
}
.scroll::-webkit-scrollbar{
 height: 5px;
}
.scroll::-webkit-scrollbar-track{
 background: #F1F1F1;
}
.scroll::-webkit-scrollbar-thumb {
 background: #BCBCBC;
}

.secondTitle .text {
	width: 100%;
}


/*hot--------------------------------------------------*/
.hotDetail .text {
	padding: 15px;
}

.hotDetail .text .ouboBtn a {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 4px 0;
	font-size: 20px;
}

.ouboTitle {
	width: 100%;
	font-size: 18px;
	text-overflow: ellipsis;
}

#second .ouboForm table th {
	display: block;
	width: 100%;
	padding: 12px;
}

#second .ouboForm table td {
	display: block;
	width: 100%;
	padding: 12px;
}

#second .ouboForm table td input[type="text"]{
	width: 100%;
}

.hotpdfList li {
width: 46%;
margin: 0 2% 20px;
border-bottom: 1px dashed #CCC;
}

.hotpdfList li:nth-of-type(3n-1) {
margin: 0 2% 20px;
}


/*project--------------------------------------------------*/
.projectTb th {
	display: block;
	width: 100%;
}
.projectTb td {
	display: block;
	width: 100%;
}

.kakekin {
	margin: 0 0 30px;
}

.kakekin li {
	width: 30%;
	margin: 0 1% 20px;
	padding: 8px 0;
}

.projectTb5 td {
	white-space: nowrap;
}

.projectTb3 {
	margin: 0 0 40px;
}

/*waribiki--------------------------------------------------*/
#second .serviceBox .waribikiTb td:nth-of-type(2n) {
	width: 30%;
}

#second .serviceBox .infoTb th {
	width: 100%;
	display: block;
	background-color: #F3F2F1;
}

#second .serviceBox .infoTb td {
	width: 100%;
	display: block;
	border-bottom: 1px solid #CCC;
}

#second .serviceBox dl.telList {
	display: block;
}

#second .serviceBox dl.telList dt {
	width: 100%;
	border-bottom: none;
	padding: 4px;
	margin: 0;
}

#second .serviceBox dl.telList dd {
	width: 100%;
	padding: 0 4px 4px;
	margin: 0;
}

.serviceBox {
	padding: 20px 10px 0;
}

/*contact--------------------------------------------------*/
#second .contactForm table th {
	display: block;
	width: 100%;
	padding: 8px;
	border-bottom: none;
}

#second .contactForm table td {
	display: block;
	width: 100%;
	padding: 8px;
}

#second .contactForm table td input[type="text"] {
	width: 100%;
}

/*add--------------------------------------------------*/
.itemList li {
	width: 48%;
	margin: 0 1% 4px;
}

.itemList li:nth-of-type(3n-1) {
	margin: 0 1% 4px;
}

#second table.yakuinMeibo tr:nth-child(2n-1) {
	background-color: #F3F2F1;
}

#second table.yakuinMeibo th {
	padding: 8px;	
}

#second table.yakuinMeibo td,
#second table.yakuinMeibo td:nth-of-type(1) {
	padding: 8px;
	vertical-align: top;
}

#second table.yakuinMeibo td:nth-of-type(1),
#second table.yakuinMeibo td:nth-of-type(2) {
	white-space: nowrap;
}

#second table.yakuinMeibo td:nth-of-type(1):before {
	display: none;
}

.infoLead {
	padding: 60px 16px 20px;
}


input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
		background-color: #CCC;
		color: #000;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

/*download*/
.downloadBox ul li {
    display: block;
}
.downloadBox ul li a {
    width: 100%;
}

.downloadBox ul li a:nth-of-type(2) {
border-top: 1px dotted #CCC;
}


}