@charset "utf-8";


/*==================================================
    ■ share start
==================================================*/

*{
	outline: none;
	color: #000000;
	margin:0;
	padding:0;
	line-height: 160%;  /*　200%で26px　160%で20px　140%で18px　120%で14px　*/
	letter-spacing: 0px;
	background-repeat: no-repeat;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    font-family: "Noto Sans JP", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic" ,  "Meiryo", "メイリオ" ,sans-serif ;
}
img {
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	vertical-align: top;
}

li,ul,dl,dt,dd {
	list-style:none;
}

h1,h2,h3,h4 {
	font-weight: normal;
}

table{
	border-collapse:collapse!important;
	border-spacing:0;
	background-repeat: no-repeat;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
a {
	color: #000000;
	text-decoration: none;
}

a:hover {
	color: #CE1D0D;
	text-decoration: underline;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}

html {
     overflow-x: hidden;
     overflow-y: scroll; -webkit-overflow-scrolling: touch
}
 
body {
    text-align: center;
    font-size: 62.5%;
}
    @media only screen and (max-width: 640px) {
        body {
            overflow-x: hidden;
            -webkit-overflow-scrolling: touch;
        }
}
.c_f:after {
  content: "";
  clear: both;
  display: block;
}
.sp {
	display: none;
}
.pc {
	display: block;
}
    @media screen and (max-width:1000px) {
        .sp {  display: block !important; }
        .pc {  display: none !important; }
        img {  width: 100%; }
    }


/*==================================================
    ■ share end
==================================================*/

/*---------------------------------
.header
---------------------------------*/

.cd-header {
	margin: auto;
	padding: 0px 0px 0px 0px;
    height: 100px;
	width: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
    top: 0;
	left: 0;
    position: fixed;
    z-index: 10;
    background-color: rgba(255,255,255,0.75);
}
    @media screen and (max-width:1000px) {
        .cd-header {
            height: 80px;
        }
    }
    @media print{
        .cd-header {
            display: none!important;
        }
    }
.navi-area{
    display:block;
    margin: auto;
    width: 100%;
    z-index: 10;
}
    @media screen and (max-width:1000px) {
        .navi-area{
            display:none;
        }
    }
.header_cnt {
    width: 100%;
    height: 100px;
    display: flex;
    justify-content: space-between;
    align-content: center;
    align-items: center;
    padding-left: 30px;
    padding-right: 30px;
    position: relative;
    text-align: right;
    z-index: 2;
}
.header_cnt .h1_pc {
    z-index: 1;
}
.header_cnt .h1_pc img {
    width: 381px;
}
    @media (max-width: 1150px) {
        .header_cnt .h1_pc img {
            width: 300px;
        }
    }
.header_cnt .h_right {
    margin-left: auto;
}
.header_cnt .h_right .sub_menu {
    display: flex;
    justify-content:flex-end;
    align-content: center;
    align-items: center;
    width: 100%;
}
.header_cnt .h_right .sub_menu li {
    padding-right: 30px;
}
    @media (max-width: 1150px) {
        .header_cnt .h_right .sub_menu li {
            padding-right: 15px;
        }
    }
.header_cnt .h_right .sub_menu li:last-child {
    padding-right: 0px;
}
.header_cnt .h_right .sub_menu li a {
    display: block;
    color: #2F2F2F;
    font-size: 1.6em;
    font-weight: 600;
    text-decoration: none;
    font-family: "Noto Serif JP", serif;
}
    @media (max-width: 1290px) {
        .header_cnt .h_right .sub_menu li a {
            font-size: 1.6em;
        }
    }
.header_cnt .h_right .sub_menu li a:hover {
    color: #164B29;
}
.header_cnt .h_right .sub_menu .bt_contact {
    background-color: #164B29;
    width: 220px;
    height: 50px;
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
}
    @media (max-width: 1290px) {
        .header_cnt .h_right .sub_menu .bt_contact {
            width: 176px;
        }
    }
.header_cnt .h_right .sub_menu .bt_contact a {
    color: #FFFFFF;
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
.header_cnt .h_right .sub_menu .bt_contact:hover {
    background-color: rgb(22,75,41,0.5);
    color: #FFFFFF;
}

/*---------------ハンバーガー------------------*/
.cd-header .cd-primary-nav-trigger {
    display: none;
}
    @media screen and (max-width:1000px) {
        .cd-header .cd-primary-nav-trigger {
            position: absolute;
            right: 0;
            top: 0;
            height: 80px;
            width: 50px;
            display: block!important;
            z-index: 0;
        }
    }
.cd-primary-nav-trigger .cd-menu-text {
    color: white;
    text-transform: uppercase;
    font-weight: 700;
    display: none;
}
.cd-primary-nav-trigger .cd-menu-icon {
    position: absolute;
    left: 50%;
    top: 40px;
    bottom: auto;
    right: auto;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    -o-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    width: 28px;
    height: 4px;
    background-color:#707070;
    -webkit-transition: background-color 0.3s;
    -moz-transition: background-color 0.3s;
    transition: background-color 0.3s;
    display: block!important;
}
.cd-primary-nav-trigger .cd-menu-icon::before,
.cd-primary-nav-trigger .cd-menu-icon:after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    background-color:#707070;
    right: 0;
    -webkit-transition: -webkit-transform .3s, top .3s, background-color 0s;
    -moz-transition: -moz-transform .3s, top .3s, background-color 0s;
    transition: transform .3s, top .3s, background-color 0s;
}
.cd-primary-nav-trigger .cd-menu-icon::before {
    top: -10px;
}
.cd-primary-nav-trigger .cd-menu-icon::after {
    top: 10px;
}
.cd-primary-nav-trigger .cd-menu-icon.is-clicked {
    background-color: rgba(255, 255, 255, 0);
}
.cd-primary-nav-trigger .cd-menu-icon.is-clicked::before, 
.cd-primary-nav-trigger .cd-menu-icon.is-clicked::after {
    background-color:#707070;
}
.cd-primary-nav-trigger .cd-menu-icon.is-clicked::before {
    top: 0;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    transform: rotate(135deg);
}
.cd-primary-nav-trigger .cd-menu-icon.is-clicked::after {
    top: 0;
    -webkit-transform: rotate(225deg);
    -moz-transform: rotate(225deg);
    -ms-transform: rotate(225deg);
    -o-transform: rotate(225deg);
    transform: rotate(225deg);
}
/*--------------------------------*/
.cd-primary-nav {
    margin-top: -120px;
    position: fixed;
    left: 0;
    height: 100%;
    width: 100%;;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    transform: translateY(-100%);
    -webkit-transition-property: -webkit-transform;
    -moz-transition-property: -moz-transform;
    transition-property: transform;
    -webkit-transition-duration: 0.4s;
    -moz-transition-duration: 0.4s;
    transition-duration: 0.4s;
    opacity:1;
    display: block!important;
    background-color: #000000;
}
@media print{
    .cd-primary-nav {
        display: none;
    }
}
.cd-primary-nav.is-visible {
    -webkit-transform: translateY(0);
    margin-top: 0px;
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
    background-color: #164B29;
}
@media print{
    .cd-primary-nav.is-visible {
        display: none;
    }
}
.h_sub {
    width: 100%;
    text-align: left;
}
@media print{
    .h_sub {
        display: none;
    }
}
.h_sub ul {
    padding-left: 0px;
    padding-top: 0px;
}
.h_sub li {
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 40px;
    display: flex;
    align-content: center;
    align-items: center;
    border-bottom: 1px #B5B5B5 solid;
}
.h_sub li a {
    color: #FFFFFF;
    font-size: 1.8em;
    text-decoration: none;
    display: flex;
    align-content: center;
    align-items: center;
    }
.h_sub li img {
    margin-right: 13px;
}
    @media screen and (max-width:1000px) {
        .h_sub li img {
            width: auto;
        }
    }
.h_sub li .span1 {
    color: #FFFFFF;
    font-size: 2.4em;
    margin-right: 15px;
}
.h_sub li .span2 {
    color: #FF0000;
    font-size: 1.8em;
}
/*--------------------------------*/
.navi-area_sp {
    display: none!important;
    z-index: 10;
}
    @media screen and (max-width:1000px) {
        .navi-area_sp {
            display: block!important;
            height: 80px;
        }
        .h1_sp {
            display: flex;
            padding-left: 10px;
            align-content: center;
            align-items: center;
            height: 80px;
        }
        .h1_sp img {
            max-width: 281px;
        }
    }
/*====================================================================

====================================================================*/


/*------------------------------------------------*/
main {
    width: 100%;
    margin: auto;
    padding-top: 0px;
    background-color: #F2F2F2;
}
    @media screen and (max-width:1000px) {
        main {
            padding-top: 80px;
        }
        #index main {
            padding-top: 0px;
        }
    }
    
/*------------------------------------------------*/
.f_info {
    background-color: #FFFFFF;
    width: 100%;
    padding-top: 45px;
    padding-bottom: 45px;
}
.f_info_cnt {
    margin: auto;
    width: 860px;
    display: flex;
    justify-content: space-between;
}
    @media screen and (max-width:860px) {
        .f_info_cnt {
            width: 100%;
            display: block;
        }
    }
.f_info_cnt .left {
    width: 430px;
    text-align: center;
    border-right: 1px solid #868686;
}
    @media screen and (max-width:860px) {
        .f_info_cnt .left {
            width: 100%;
        }
    }
.f_info_cnt .left dl {
}
.f_info_cnt .left dl dt {
    font-family: "Noto Serif JP", serif;
    font-size: 2.5em;
    font-weight: 700;
}
.f_info_cnt .left dl dd {
    font-family: "Noto Serif JP", serif;
    font-size: 2.3em;
    font-weight: 700;
}
.f_info_cnt .right {
    width: 430px;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: 5em;
}
    @media screen and (max-width:860px) {
        .f_info_cnt .right {
            width: 100%;
            font-size: 4em;
        }
    }
/*-------------------------------------------*/
.f_info2_wrap {
    background-color: #F2F2F2;
    padding-top: 40px;
    padding-bottom: 40px;
}
.f_info2_wrap .cnt1 {
    width: 1290px;
}
    @media screen and (max-width:1290px) {
        .f_info2_wrap .cnt1 {
            width: 94%;
        }
    }
    @media screen and (max-width:1000px) {
        .f_info2_wrap .cnt1 {
            width: 88%;
        }
    }
.f_info2_wrap .cnt1 ul {
    display: flex;
    justify-content: space-between;
    align-content: center;
    align-items: center;
}
    @media screen and (max-width:1000px) {
        .f_info2_wrap .cnt1 ul {
            display: block;
        }
    }
.f_info2_wrap .cnt1 ul li:nth-child(1) {
    width: 47%;
}
    @media screen and (max-width:1290px) {
        .f_info2_wrap .cnt1 ul li:nth-child(1) {
            width: 60%;
            padding-right: 20px;
        }
    }
    @media screen and (max-width:1000px) {
        .f_info2_wrap .cnt1 ul li:nth-child(1) {
            width: 100%;
            padding-right: 0px
        }
    }
.f_info2_wrap .cnt1 ul li:nth-child(2) {
}
    @media screen and (max-width:1000px) {
        .f_info2_wrap .cnt1 ul li:nth-child(2)  {
            text-align: center;
        }
    }
    @media screen and (max-width:1000px) {
        .f_info2_wrap .cnt1 ul li:nth-child(2) img {
            max-width: 400px;
        }
    }
.f_info2_wrap .cnt1 ul li {
    font-family: "Noto Serif JP", serif;
    font-size: 2.4em;
}
    @media screen and (max-width:1290px) {
        .f_info2_wrap .cnt1 ul li {
            font-size: 2em;
        }
    }
    @media screen and (max-width:1000px) {
        .f_info2_wrap .cnt1 ul li {
            font-size: 1.9em;
            margin-bottom: 40px;
        }
    }
/*------------------------------------------------*/
footer {
    background-color: #4E4E4E;
    padding-top: 60px;
    padding-bottom: 30px;
}
    @media (max-width: 1245px) {
        footer {
            background-color: #4E4E4E;
            padding-top: 50px;
            padding-bottom: 50px;
        }
    }
.footer_cnt {
    width: 1245px;
    margin: auto;
}
    @media screen and (max-width:1245px) {
        .footer_cnt {
            width: 88%;
        }
    }
.footer_cnt1 {
    display: flex;
    border-bottom: 1px #707070 solid;
    padding-bottom: 30px;
}
    @media screen and (max-width:1000px) {
        .footer_cnt1 {
            display: block;
            padding-bottom: 60px;
        }
    }
.footer_cnt1 .left {
    padding-right: 25.8%;
}
    @media screen and (max-width:1000px) {
        .footer_cnt1 .left {
            padding-right: 0px;
        }
    }
.footer_cnt1 .left ul {
}
.footer_cnt1 .left ul li {
    font-size: 1.8em;
    color: #C1C1C1;
    text-align: left;
}
    @media screen and (max-width:1000px) {
        .footer_cnt1 .left ul li {
            font-size: 1.8em;
        }
    }
.footer_cnt1 .left ul .logo {
    padding-bottom: 50px;
    width: 460px
}
.footer_cnt1 .left ul .logo img {
    width: 100%;
}
.footer_cnt1 .left ul .ad {
    padding-bottom: 8px;
}
    @media screen and (max-width:1000px) {
        .footer_cnt1 .left ul .ad {
            padding-bottom: 0px;
        }
    }
.footer_cnt1 .left ul .tel {
    padding-bottom: 50px;
}
.footer_cnt1 .left ul .insta {
}
.footer_cnt1 .left ul .insta img {
    width: auto;
}
.footer_cnt1 .right {
}
    @media screen and (max-width:1000px) {
        .footer_cnt1 .right {
            display: none;
        }
    }
.footer_cnt1 .right ul {
}
.footer_cnt1 .right ul li {
    text-align: left;
    padding-bottom: 15px;
}
.footer_cnt1 .right ul li a {
    font-size: 1.6em;
    color: #C1C1C1;
}
.footer_cnt2 {
    padding-top: 20px;
    display: flex;
    justify-content: space-between;
}
    @media screen and (max-width:1000px) {
        .footer_cnt2 {
            padding-top: 20px;
            display: block;
            justify-content: space-between;
        }
    }
.footer_cnt2 .left {
    font-size: 1.6em;
    color: #C1C1C1;
}
    @media screen and (max-width:1000px) {
        .footer_cnt2 .left {
            padding-bottom: 20px;
        }
    }
.footer_cnt2 .right {
}
.footer_cnt2 .right a {
    font-size: 1.4em;
    padding: 5px 0px;
    color: #FFFFFF;
    border: 1px #A5A5A5 solid;
    width: 190px;
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
    @media screen and (max-width:1000px) {
        .footer_cnt2 .right a {
            margin: auto;
            width: 190px;
        }
    }
.footer_cnt2 .right a:hover {
    transition : all 0.5s ease 0s;
    background-color: rgba(0,0,0,0.1);
}
/*------------------------------------------------*/

/*---------- pagetop start ----------*/
#page_top {
    position: fixed;
    bottom: 0px;
    right: 0px;
}
#page_top a {
    line-height: 100%;
    text-decoration: none;
    font-size: 1.4em;
    width: 60px;
    height: 60px;
    color: #FFFFFF;
    background-color: #164B29;
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
}
#page_top a:hover {
    background-color: #88A392;
    color: #FFFFFF;
}


/*---------- pagetop end ----------*/