@charset "utf-8";
@media only screen 
	and (min-device-width: 600px) 
	and (max-device-width: 1280px) 
	and (-webkit-min-device-pixel-ratio: 1) {

/* iPadのSafariだけで適用 
.mac.safari .CLASS{
	
}
/* Chrome 
.iPad.safari .CLASS{
	
}
*/
/* アンドロイドタブレットだけで適用 
.android .CLASS{
	
}
*/


/* ////////////////////////////////////////////
 *                 base & layout
 * //////////////////////////////////////////// */

/* Typography
------------------------------------------*/
html {
	font-size: 1.6vw;
}

/* Layout
------------------------------------------*/
body {
	min-width: unset;
}

.pc-parts{
	display: none;
}
.tab-parts{
	display: block;
}

#content-inner{
	padding: 0 2vw 8vw;
}


/* fixed
------------------------------------------*/
#fixed-btn {
    top: 18vw;
}

#fixed-btn ul {
    gap: .5vw;
}
#fixed-btn ul li a {
    font-size: 1.2vw;
    width: 4vw;
    height: 10vw;
    line-height: 4vw;
    -webkit-border-top-left-radius: .5vw;
    -webkit-border-top-right-radius: 0;
    -webkit-border-bottom-right-radius: 0;
    -webkit-border-bottom-left-radius: .5vw;
    -moz-border-radius-topleft: .5vw;
    -moz-border-radius-topright: 0;
    -moz-border-radius-bottomright: 0;
    -moz-border-radius-bottomleft: .5vw;
}


/* header
------------------------------------------*/

#header-inner {
    height: 10vw;
	padding: 0 2vw;
}

#header-inner .site-description {
    position: absolute;
    top: 1em;
    left: 2vw;
    font-size: 1vw;
}

#header-inner .logo{
	width: 20vw;
}

#header-inner .nav {
    height: 10vw;
    gap: 2vw;
}

#header-inner .nav .tel a i{
	font-size: 1.3vw;
	margin-right: .3em;
}

#header-inner .nav .mail a i{
	font-size: 1.3vw;
	margin-right: .3em;
}

/* gnav
------------------------------------------*/
.gnav{
	height: 5vw;
}
.gnav ul {
    gap: 2vw;
}

.gnav>ul>li{
	line-height: 1.3;
}
.gnav>ul>li>a{
	height: 5vw;
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
}
.gnav ul li ul {
    top: 100%;
    width: 200%;
}
.gnav ul li ul li a {
    padding: 1vw 2vw;
    font-size: 1.3vw;
}

.gnav ul a .en {
    font-size: 1.6vw;
}

.gnav ul a .ja {
    font-size: 1.1vw;
}

/* mainimage
------------------------------------------*/
#mainimage {
    margin: 0 auto 3vw;
}

#mainimage #mainimage-inner .slideshow .slick-arrow,
#mainimage #mainimage-inner .slideshow .slick-arrow::before {
    width: 1.8vw;
    height: 2.7vw;
}

#mainimage #mainimage-inner .slideshow .slick-arrow {
    margin-top: -1.35vw;
}

#mainimage #mainimage-inner .slideshow .slick-arrow.slick-prev {
    left: 4vw;
}

#mainimage #mainimage-inner .slideshow .slick-arrow.slick-next {
    right: 4vw;
}

#mainimage #mainimage-inner .slideshow .slick-dotted {
    margin-bottom: 4vw;
}

#mainimage #mainimage-inner .slideshow .slick-dots {
    bottom: -4vw;
}

#mainimage #mainimage-inner .slideshow .slick-dots li {
    margin: 0 1vw;
}

#mainimage #mainimage-inner .slideshow .slick-dots li button {
    width: 1vw;
    height: 1vw;
}

#mainimage #mainimage-inner .slideshow .slick-dots li button::before {
    color: var(--keyColorSub);
    width: 1vw;
    height: 1vw;
    font-size: 1vw;
}

#mainimage #mainimage-inner .slideshow .slick-dots li button:hover::before,
#mainimage #mainimage-inner .slideshow .slick-dots li button:focus::before,
#mainimage #mainimage-inner .slideshow .slick-dots li.slick-active button::before {
    color: var(--keyColor);
}

#mainimage .mv-catch {
    font-size: 3vw;
}

/* content main
------------------------------------------*/


/* common */
.common{
	padding: 5vw 2vw;
}
.common-title .en {
    font-size: 2vw;
}

.common-title .ja {
    font-size: 1.2vw;
}

.common-btn a {
    width: 20vw;
    height: 4vw;
    line-height: 4vw;
}

.common-btn a:before {
    right: 2vw;
}


/* main */
/* news */

.main-news {
    height: 8vw;
	padding: 0 2vw;
}

.main-news-wrapper .main-news h2 {
    width: 8vw;
    height: 8vw;
}

.main-news-wrapper .main-news .main {
    width: calc(100% - 10vw);
    padding: 0 4vw 0 2vw;
}

.main-news-wrapper .main-news .common-btn,
.main-news-wrapper .main-news .common-btn a {
    width: 13vw;
}


/* image_text */

.main-image_text h2 {
    margin-bottom: 3vw;
}


.main-image_text .main .texts h3 {
    font-size: 2vw;
}

.main-image_text .main .texts .text {
    font-size: 1.3vw;
}


/* 3cols */
.main-3cols {
}

.main-3cols h2 {
    margin-bottom: 3vw;
}

.main-3cols .main ul {
    gap: 3vw;
}

.main-3cols .main ul li .image {
    margin-bottom: 2vw;
}
.main-3cols .main ul li .image img{
	width: 100% !important;
}

.main-3cols .main ul li h3 {
    font-size: 2vw;
}

.main-3cols .main ul li .text {
    font-size: 1.3vw;
}

.main-3cols .main .common-btn a {
    margin: 4vw auto 0;
}

/* alt */
.main-alt {
}

.main-alt h2 {
    margin-bottom: 3vw;
}

.main-alt .main ul {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 3vw;
}


.main-alt .main ul li .image {
    width: 45%;
	margin: 0;
}


.main-alt .main ul li .texts h3 {
    font-size: 2vw;
}

.main-alt .main ul li .texts .text {
    font-size: 15px;
}

.main-alt .main ul li .texts .common-btn a {
    margin-top: 1.3vw;
}

.main-alt .main ul li:nth-child(even) {
    flex-flow: row-reverse;
}
.main-alt .main ul li:nth-child(even) .image {
	margin: 0;
}


/* blog */
.main-blog h2 {
    margin-bottom: 3vw;
}

.main-blog .main ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2vw;
}

.main-blog .main ul li .image {
    margin-bottom: 2vw;
}


.main-blog .main ul li h3 .meta {
    margin-bottom: .5vw;
    height: 3vw;
    line-height: 3vw;
}

.main-blog .main ul li h3 .meta .date {
    font-size: 1.5vw;
}

.main-blog .main ul li h3 .meta .cat a {
    font-size: 1.5vw;
}

.main-blog .main .common-btn a {
    margin: 4vw auto 0;
}


/* gallery */
.main-gallery h2 {
    margin-bottom: 3vw;
}

.main-gallery .main ul {
    margin: 0 -50vw 4vw;
}

.main-gallery .main ul li {
    margin: 0 2vw;
}

.main-gallery .main ul li .image {
    margin-bottom: 2vw;
}



.main-gallery .main ul li h3 .meta {
    margin-bottom: .5vw;
    height: 3vw;
    line-height: 3vw;
}

.main-gallery .main ul li h3 .meta .date {
    font-size: 1.5vw;
}

.main-gallery .main ul li h3 .meta .cat a {
    font-size: 1.5vw;
}

/* Arrows */
.main-gallery .main ul .slick-prev,
.main-gallery .main ul .slick-next {
    width: 4vw;
    height: 4vw;
}

.main-gallery .main ul .slick-prev {
    left: 50vw;
}

.main-gallery .main ul .slick-next {
    right: 50vw;
}

.main-gallery .main ul .slick-prev::before,
.main-gallery .main ul .slick-next::before {
    width: 4vw;
    height: 4vw;
    font-size: 2vw;
}

.main-gallery .main .common-btn a {
    margin: 4vw auto 0;
}


/* ba */

.main-ba h2 {
    margin-bottom: 3vw;
}

.main-ba .main ul {
    margin: 0 -50vw 4vw;
}

.main-ba .main ul li {
    margin: 0 2vw;
}

.main-ba .main ul li .image {
    margin-bottom: 2vw;
}


.main-ba .main ul li h3 .meta {
    margin-bottom: .5vw;
    height: 3vw;
    line-height: 3vw;
}

.main-ba .main ul li h3 .meta .date {
    font-size: 1.5vw;
}

.main-ba .main ul li h3 .meta .cat a {
    font-size: 1.5vw;
}


/* banner */
.main-banner {
}

.main-banner ul {
    gap: 3vw 2vw;
}



/* footer
------------------------------------------*/
.footer-map,
.footer-map .googlemap iframe{
	height: 40vw;
}

#footer .main {
    padding: 5vw 5vw 5vw 2vw;
}

#footer .main .company {
    width: 35%;
}

#footer .main .company .logo {
    margin-bottom: 3vw;
}

#footer .main .company .about {
    margin-bottom: 3vw;
    font-size: 1.3vw;
}

#footer .main .company .sns ul {
    gap: 1vw;
}

#footer .main .company .sns ul li a {
    width: 5vw;
    height: 5vw;
    font-size: 2vw;
}


#footer .main .fnav {
    width: 60%;
    gap: 4vw;
}

#footer .main .fnav ul li {
    font-size: 1.8vw;
}

#footer .main .fnav ul li ul {
    padding: 1em 2em;
}

#footer .main .fnav ul li ul li {
    font-size: 1.5vw;
}

#footer .main .fnav ul li ul li:before {
    padding: 0 1vw 0 0;
    font-size: 1.3vw;
}

#footer .main .fnav ul li:before {
    padding: 0 1vw 0 0;
    font-size: 1.3vw;
}

#footer .copyright {
    font-size: 1.0vw;
    height: 5vw;
    line-height: 5vw;
}




.pagetop-btn-wrap {
	bottom: 10vw;
	right: 3vw;
	width: 5vw;
	height: 5vw;
	line-height: 5vw;
	font-size: 2vw;
}












































}