﻿/* ----------　all　---------- */
.linkStyle{
	color:#74B88D;
	text-decoration: underline;
}
.linkStyle:hover{
	color:#74B88D;
	opacity: 0.7;
	transition: all 0.5s;
}

html{font-size: 16px;}
body{-webkit-text-size-adjust: 120%;font-size: 16px;}

.font_12{font-size: 14px;}
.font_14{font-size: 16px;}
.font_15{font-size: 17px;}
.font_16{font-size: 18px;}
.font_18{font-size: 20px;}
.font_20{font-size: 22px;}
.font_22{font-size: 24px;}
.font_24{font-size: 26px;}
.font_26{font-size: 28px;}
.font_28{font-size: 30px;}
.font_30{font-size: 32px;}
.font_100per{
font-size: -webkit-calc(1rem + 2px);
font-size: calc(1rem + 2px);
}
.font_2up{
font-size: -webkit-calc(1rem + 4px);
font-size: calc(1rem + 4px);
}
.font_4up{
font-size: -webkit-calc(1rem + 6px);
font-size: calc(1rem + 6px);
}
.font_6up{
font-size: -webkit-calc(1rem + 8px);
font-size: calc(1rem + 8px);
}
.font_8up{
font-size: -webkit-calc(1rem + 10px);
font-size: calc(1rem + 10px);
}
.font_10up{
font-size: -webkit-calc(1rem + 12px);
font-size: calc(1rem + 12px);
}
.font_2dw{
font-size: -webkit-calc(1rem);
font-size: calc(1rem);
}

body {
    font-family: "メイリオ", Meiryo, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif!important;
}

.nav_tel, .main_page_link_span, .contents1_title, .contents1_subtitle, .more_btn, .about_area_title, .contents_no, .contents2_title, .contents3_title, .modal_txt_wrap h2, .top_cms_title, .footer_tel, .footer_mail, #page_title, #page8 #phone a, #page9 h3, #page10 li a {
    font-family: "メイリオ", Meiryo, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif!important;
}

#wrap {
    overflow: hidden;
}




/* nav */

.index .main_header h1, .sub_page .main_header h1 {
    max-width: 120px;
}

/* footer */

#fix-con {
    right: 50px;
    bottom: 10px;
    max-width: 400px;
    z-index: 11;
    transition: 0.5s;
}

.is-hidden {
  visibility: hidden;
  opacity: 0;
}

/* ----------　TOP　---------- */

/* main-img */

.main_img_txt h2, .main_img_txt2 h2 {
    font-size: 150px;
}

.main_img_txt p, .main_img_txt2 p {
    font-size: 30px;
    text-align: right;
}

.main_img_txt,.main_img_txt2 {
    right: -10%;
    bottom: 20%;
}


/*.main_img:before {*/
/*    content: "";*/
/*    width: 100%;*/
/*    height: 100%;*/
/*    position: absolute;*/
/*    top: 0;*/
/*    left: 0;*/
/*    background-image: url('/Dup/img/fl-l-t.png'), url('/Dup/img/fl-r-t.png'), url('/Dup/img/fl-l-b.png'), url('/Dup/img/fl-r-b.png');*/
/*    background-repeat: no-repeat;*/
/*    background-position: 1% 1%, 99% 1%, 1% 99%, 99% 99%;*/
/*    background-size: 8%;*/
/*    z-index: 1;*/
/*}*/



/* top */

#video_area {
    height: 360px;
    background-position: 100% 30%;
}

#video_area2 {
    height: 360px;
    background-position: 100% 100%;
}

#contents1 .con1_img1 {
    transform: translateY(80px);
}

.con1_img_wrap {
    position: relative;
}

.con1_img_wrap:before {
    content: "";
    width: 110%;
    height: 120%;
    position: absolute;
    bottom: -60%;
    right: -150px;
    background-color: #74B88D;
    opacity: 0.5;
}

.contents1_svg {
    display: none;
}

.ilu2 {
    right: 0;
    top: -10%;
}

#about_area {
    background-image: url(Dup/img/ilu3.png),url(Dup/img/ilu4.png);
    background-repeat: no-repeat;
    background-position: 3% 5%, 101% 70%;
}

#top_cms {
    background-image: url(Dup/img/ilu5.png);
    background-repeat: no-repeat;
    background-position: -2% 1%;
}

.more_btn {
    border-color: #2B5139;
    color: #2B5139;
}

.more_btn .more_btn_before, .more_btn .more_btn_after {
    background-color: #2B5139;
}

/* top-cms */

.link_type1 .link_top .link_title {
    font-size: 20px;
    margin-bottom: 20px;
    text-align: center;
	margin-bottom: 30px;
    color: #1E2D27;
    font-weight: normal;
}
.link_type1 .link_top .link_title{
    font-size: 20px;
    margin-bottom: 20px;
}
.link_type1 .link_top a{
	padding-top: 80px;
    padding-bottom: 60px;
}
.link_type1 .link_top a:hover{
    background-color: #ededeb;
}
.link_type1 .link_top a:hover .link_img1{
    transform: translate(-50%, -50%) scale(1.1,1.1);
    opacity: 0.1;
}

.top_cms_item {
    padding-top: 50px;
}

.top_cms_item .cms_6-a .cate_box:last-of-type {
    border-bottom: 1px solid #2B5139;
}


/* ----------　下層ページ　---------- */

.v_type3 .cate_box{border: 1px solid #2B5139;}
.v_type3 .box_title1{color: #74B88D;}

/* 会社情報 */
/* お問い合わせ */
/* プライバシーポリシー */
/* サイトマップ */


/*-------------------------------------------------------
			          タブレット
-------------------------------------------------------*/
@media screen and (max-width: 768px){
    
.font_12_tb{font-size: 14px;}
.font_14_tb{font-size: 16px;}
.font_16_tb{font-size: 18px;}
.font_18_tb{font-size: 20px;}
.font_20_tb{font-size: 22px;}
.font_22_tb{font-size: 24px;}
.font_24_tb{font-size: 26px;}
.font_26_tb{font-size: 28px;}
.font_28_tb{font-size: 30px;}
.font_30_tb{font-size: 32px;}
.font_100per_tb{
font-size: -webkit-calc(1rem + 2px);
font-size: calc(1rem + 2px);
}
.font_2up_tb{
font-size: -webkit-calc(1rem + 4px);
font-size: calc(1rem + 4px);
}
.font_4up_tb{
font-size: -webkit-calc(1rem + 6px);
font-size: calc(1rem + 6px);
}
.font_6up_tb{
font-size: -webkit-calc(1rem + 8px);
font-size: calc(1rem + 8px);
}
.font_8up_tb{
font-size: -webkit-calc(1rem + 10px);
font-size: calc(1rem + 10px);
}
.font_10up_tb{
font-size: -webkit-calc(1rem + 12px);
font-size: calc(1rem + 12px);
}
.font_2dw_tb{
font-size: -webkit-calc(1rem);
font-size: calc(1rem);
}
    
    
.sub_page .main_header h1,.index .main_header h1 {
    max-width: 100px;
}

.main_img_txt, .main_img_txt2 {
    right: 0%;
    bottom: -15%;
}

.main_img_txt h2, .main_img_txt2 h2 {
    font-size: 90px;
}

.main_img_txt p, .main_img_txt2 p {
    font-size: 24px;
    text-align: left;
}
    
    
.con1_img_wrap:before {
    width: 110%;
    height: 100%;
    right: 0px;
    bottom: -50%;
}

#video_area, #video_area2 {
    height: 300px;
}

#about_area {
    background-position: 3% 5%, 101% 60%;
}

    
}

/*-------------------------------------------------------
		            	スマホ
-------------------------------------------------------*/
@media screen and (max-width: 667px){
    
.font_12_sp{font-size: 14px;}
.font_14_sp{font-size: 16px;}
.font_16_sp{font-size: 18px;}
.font_18_sp{font-size: 20px;}
.font_20_sp{font-size: 22px;}
.font_22_sp{font-size: 24px;}
.font_24_sp{font-size: 26px;}
.font_26_sp{font-size: 28px;}
.font_28_sp{font-size: 30px;}
.font_30_sp{font-size: 32px;}
.font_100per_sp{
font-size: -webkit-calc(1rem + 2px);
font-size: calc(1rem + 2px);
}
.font_2up_sp{
font-size: -webkit-calc(1rem + 4px);
font-size: calc(1rem + 4px);
}
.font_4up_sp{
font-size: -webkit-calc(1rem + 6px);
font-size: calc(1rem + 6px);
}
.font_6up_sp{
font-size: -webkit-calc(1rem + 8px);
font-size: calc(1rem + 8px);
}
.font_8up_sp{
font-size: -webkit-calc(1rem + 10px);
font-size: calc(1rem + 10px);
}
.font_10up_sp{
font-size: -webkit-calc(1rem + 12px);
font-size: calc(1rem + 12px);
}
.font_2dw_sp{
font-size: -webkit-calc(1rem);
font-size: calc(1rem);
}
    
#logo2 {
    max-width: 150px;
    margin: 0 auto 20px;
}
    
#fix-con {
width: 80%;
left: 0;
right: 0;
margin: auto;
transform: translateX(-5px);
}
    
.sub_page .main_header h1,.index .main_header h1 {
    max-width: 80px;
}

.main_img {
    margin-bottom: 50px;
}
    
.main_img_txt, .main_img_txt2 {
    bottom: -20%;
}

.main_img_txt h2, .main_img_txt2 h2 {
    font-size: 65px;
}

.main_img_txt p, .main_img_txt2 p {
    font-size: 20px;
}
    
.con1_img_wrap:before {
    width: 110%;
    height: 100%;
    right: 0px;
    bottom: -65%;
}

#video_area, #video_area2 {
    height: 250px;
}

.top_cms_item_svg {
    width: 170px;
    left: -12px;
}


.ilu2 {
    width: 70%;
    right: -5%;
}

#about_area {
    background-position: 3% 5%, 101% 58%;
    background-size: 30%, 40%;
}

#top_cms {
    background-position: -3% 35%;
    background-size: 35%;
}

#page_title .title_box {
    padding: 20px;
    width: 90%!important;
}

#page_title .title_box h2 {
    font-size: 18px;
}

.copy {
    font-size: 12px;
    padding-top: 5px;
}

.link_type1 .link_top .link_title{
    font-size: 15px;
}    
    
}