@charset "utf-8";

/*pc + sp*/
.pc   {display:block}
.sp   {display:none}
@media only screen and (max-width:960px) {
.pc   {display:none}
.sp   {display:block}
}

/* ----------------------------------------------------------

Common

---------------------------------------------------------- */
div,h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd  {
word-break:break-all;
padding:0;
margin:0;
box-sizing:border-box;
outline:none;
font-family:sans-serif;/*
font-family: font-family: 'Zen Kaku Gothic New', sans-serif;;*/
}

h1,h2,h3,h4,h5,h6 {font-weight:normal;padding:0;margin:0}
ul,ul li          {list-style:none;padding:0;margin:0}

/*position*/
.center       {text-align:center}
.left         {text-align:left}
.right        {text-align:right}
.block        {display: block;}

/*text*/
.strong       {font-weight:bold}
.large        {font-size:110%}
.xlarge       {font-size:120%}
.xxlarge      {font-size:130%}
.xxxlarge     {font-size:140%}
.small        {font-size: 90%;}
.xsmall       {font-size: 80%;}
.xxsmall      {font-size: 70%;}
.marker1      {background: linear-gradient(transparent 30%, #fdf680 0%);padding: 0.1em;box-sizing:border-box;}
.mt-05        {margin-top: -0.5em}
.mt-10        {margin-top: -1em}
.mt05         {margin-top: 0.5em}
.mt10         {margin-top: 1em}
.mt15         {margin-top: 1.5em}
.mt20         {margin-top: 2em}
.mt25         {margin-top: 2.5em}
.mt50         {margin-top: 5em}
.mb25         {margin-bottom: 2.5em}
.mb50         {margin-bottom: 5em}
.pt0          {padding-top: 0!important}
.pt05         {padding-top:0.5em}
.pt10         {padding-top:1em}
.pt15         {padding-top:1.5em}
.pt25         {padding-top: 2.5em}
.pt50         {padding-top: 5em}
.pb0          {padding-bottom: 0!important}
.pb05         {padding-bottom:0.5em}
.pb10         {padding-bottom:1em}
.pb15         {padding-bottom:1.5em}
.pb25         {padding-bottom: 2.5em}
.pb50         {padding-bottom: 5em}

.width50      {width: 50%}
.width60      {width: 60%}
.width65      {width: 65%}
.width70      {width: 70%}
.width75      {width: 75%}
.width80      {width: 80%}
.width85      {width: 85%}
.width90      {width: 90%}
.width95      {width: 95%}
.width100     {width: 100%}
@media only screen and (max-width:767px) {
.width50,
.width60,
.width65,
.width70,
.width75,
.width80,
.width85,
.width90,
.width95,
.width100     {width: 100%}
}

/*link*/
a             {cursor:pointer;color:#111}
a:hover       {cursor:pointer}
a.tel         {pointer-events: none}
@media only screen and (max-width:960px) {
a.tel         {pointer-events:auto!important;}
}

/*img*/
img           {vertical-align:middle;-ms-interpolation-mode:bicubic;max-width:100%}


/* ----------------------------------------------------------

Table

---------------------------------------------------------- */
/*table*/
table,
.table_bordered             {text-align:left;border-collapse:collapse!important;border-spacing:0!important}
.table_bordered thead th    {border:1px solid #222;background:#fff;padding:0.75em 1.25em;box-sizing:border-box;text-align: center;}
.table_bordered tbody th    {border:1px solid #222;font-weight:bold;background:#fff;padding:0.75em 1.25em;box-sizing:border-box}
.table_bordered tbody td    {border:1px solid #222;;background:#fff;padding:0.75em 1.25em;box-sizing:border-box}
@media only screen and (max-width:520px) {
.table_bordered thead th    {padding:0.5em 0.25em;line-height: 1.789;}
.table_bordered tbody th    {padding:0.5em 0.5em;}
.table_bordered tbody td    {padding:0.5em 0.5em;}
}

/* ----------------------------------------------------------

Layout

---------------------------------------------------------- */
body        {
font-feature-settings:"palt" 1;
line-break:strict!important;
overflow-wrap:break-word!important;
word-wrap:break-word!important;
box-sizing:border-box;
width:100%;
font-size:14pt;
line-height:2em;
padding:0;
margin:0;
overflow-x:hidden;
font-weight:300!important
}
.container_fluid        {width:100%;margin:auto;position:relative}
.container_wide         {width:100%;padding-left:2.5em;padding-right:2.5em;box-sizing:border-box;margin:auto;position:relative}
.container              {width:1180px;margin:auto;position:relative; }
.container_middle       {max-width:1180;padding-left:1em;padding-right:1em;box-sizing:border-box;margin:auto;position:relative}
.container_narrow       {max-width:980px;margin:auto;position:relative}
.container_xnarrow      {max-width:880px;margin:auto;position:relative}
.container_xxnarrow     {max-width:640px;margin:auto;position:relative}
@media only screen and (max-width:960px) {
body                    {-webkit-text-size-adjust:100%;-webkit-overflow-scrolling:touch;min-width:1px;}
.container_wide,
.container,
.container_middle,
.container_narrow,
.container_xnarrow,
.container_xxnarrow    {width:100%;max-width:100%;;box-sizing:border-box}
}

/* ----------------------------------------------------------

Header

---------------------------------------------------------- */
/*header*/
.topbar_container         {display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;}
.topbar h1                {flex-basis:50%;text-align: left;}
.topbar .topbar_contact   {flex-basis:50%;text-align: right; }
@media only screen and (max-width:520px) {
.topbar h1                {flex-basis:100%;text-align: center;}
.topbar .topbar_contact   {flex-basis:100%;text-align: center;margin:0.5em auto 1em }
.topbar h1 img            {max-width: 256px;padding: 0.5em 0 0}
}
@media only screen and (min-width:521px) and (max-width:960px) {
.topbar h1                {flex-basis:100%;text-align: center;}
.topbar .topbar_contact   {flex-basis:100%;text-align: center;margin:0.5em auto 1em }
.topbar h1 img            {max-width: 400px;padding: 0.5em 0 0}
}

/*nav*/
nav.gnav_pc               {padding:1.5em 0;text-align: center;margin:  auto}
nav.gnav_pc ul li         {display:inline-block;text-align:center;vertical-align:middle;padding: 0 1.25em}
nav.gnav_pc ul li:after   {content: "｜";padding-left: 3em;padding-right:1em}
nav.gnav_pc ul li:nth-last-child(1):after   {content: "";}
nav.gnav_pc ul li:nth-child(1)    {padding-left: 0}
nav.gnav_pc ul li:nth-last-child(1) {padding-right: 0}
nav.gnav_pc a   {text-decoration: none!important;font-size: 100%;font-weight: 600;color: #47320e}
nav.gnav_sp     {display:none}
@media only screen and (max-width:960px) {
nav.gnav_pc     {display:none}
nav.gnav_sp    	{
display:block;
position:fixed;
top:0;
right:-55%;
bottom:0;
width:55%;
background:#47320e;
overflow-x:hidden;
overflow-y:auto;
-webkit-overflow-scrolling:touch;
transition:all .5s;
z-index:3000000;
opacity:0;
}
.open nav.gnav_sp            {right:0;opacity:1}
nav.gnav_sp .inner           {padding:0}
nav.gnav_sp .inner ul        {list-style:none;margin:1.5em 0 0;padding:1em}
nav.gnav_sp .inner ul li     {position:relative;margin:0;text-align:left}
nav.gnav_sp .inner ul li a   {
display:block;color:#fff;
box-sizing:border-box;
font-size:88%;/*
padding:1em 0;*/
padding:1.25em 0;
text-decoration:none;
transition-duration:0.2s;
border-bottom:1px solid rgba(255,255,255,0.5)
}
.gnav_sp ul li span img   {margin-right:0.5em}

/*toggle_btn*/
.toggle_btn {
display:block;
position:fixed;
right:1em;
top:1em;
width:30px;
height:30px;
transition:all .5s;
cursor:pointer;
z-index:200000000;
}
.toggle_btn span {
display:block;
position:absolute;
right:0;
width:40px;
height:2px;
background-color:#47320e;
/*background-color:#4f8355;*/
border-radius:0;
transition:all .5s;
}
.toggle_btn span:nth-child(1)       {top:4px}
.toggle_btn span:nth-child(2)       {top:14px}
.toggle_btn span:nth-child(3)       {bottom:4px}
.open .toggle_btn span              {background-color:#fff}
.open .toggle_btn span:nth-child(1) {-webkit-transform:translateY(10px) rotate(-315deg);transform:translateY(10px) rotate(-315deg)}
.open .toggle_btn span:nth-child(2) {opacity:0}
.open .toggle_btn span:nth-child(3) {-webkit-transform:translateY(-10px) rotate(315deg);transform:translateY(-10px) rotate(315deg)}
}

@media only screen and (min-width:521px) and (max-width:960px) {
nav.gnav_sp .inner ul li a   {
    display:block;color:#fff;
    box-sizing:border-box;
    font-size:108%;
    padding:1.5em 0;
    text-decoration:none;
    transition-duration:0.2s;
    border-bottom:1px solid rgba(255,255,255,0.5)
    }
}

/*mask*/
#mask         {display:none;transition:all .5s}
.open #mask   {display:block;position:fixed;top:0;right:0;width:100%;height:100%;z-index:200000;cursor:pointer}

/*keyvisual*/
.keyvisual  {margin:auto;text-align: center;}

/* ----------------------------------------------------------

Section

---------------------------------------------------------- */
/*section*/
.color1     {color:#dc4843}
.color2     {color:#ebe6e0}
.color3     {color:#fff}
.color4     {color:#eeedea}
.color5     {color:#f2f1ef}
.bg1        {background:#dc4843}
.bg2        {background:#ebe6e0}
.bg3        {background:#fff}
.bg4        {background:#eeedea}
.bg5        {background:#f2f1ef}

/*cta*/
.cta          {padding: 3em 0 }
.contact_btn  {text-align: center;margin: auto}
.contact_tel  {text-align: center;margin: 2.5em auto auto}
@media only screen and (max-width:520px) {
.cta          {padding: 1.5em 0 }
.contact_tel  {margin: 1.5em auto auto}
}
@media only screen and (min-width:521px) and (max-width:960px) {
.cta          {padding: 2.5em ;box-sizing:border-box; }
.contact_tel  {margin: 1.75em auto auto}
}

/*section1*/
.section1_title           {text-align: center;margin:auto;position: relative;z-index: 3}
.section1_title span      {display: block;padding: 1.6em 0}
.section1_content         {position:relative;padding-bottom: 2.5em;text-align: center;}  
.section1_feature         {margin-top: -2.5em;position: relative;z-index: 2;} 
 /*
.section1_feature ul      {padding:4em 0 4.5em 390px;box-sizing: border-box;}  
.section1_feature ul li   {
font-size: 246%;
line-height: 2;
background: url(./img/icon_check1.png) 0 50% no-repeat;
padding-left: 1.75em;
background-size: 60px;
min-width: 60px;
min-height: 60px;
font-weight: 600;
color: #47320e;
}*/
.section1_img1            {text-align: center;position: relative;z-index: 1}
.section1_img2            {margin-top: -14.5em;text-align: center;position: relative;}
@media only screen and (max-width:520px) {
.section1_title           {margin-bottom: 0.5em;}
.section1_title span      {box-sizing: border-box;padding: 1em}
.section1_content         {position:relative;padding-bottom: 2.s5em}  
.section1_feature         {margin-top: 8.5em;} 
}
@media only screen and (min-width:521px) and (max-width:768px) {
.section1_title           {margin-bottom: 0.5em;}
.section1_title span      {box-sizing: border-box;}
.section1_content         {position:relative;padding-bottom:2.5em}  
.section1_feature         {margin-top: 10.5em;} 
}
@media only screen and (min-width:769px) and (max-width:960px) {
.section1_title           {margin-bottom: 0.5em;}
.section1_title span      {box-sizing: border-box;}
.section1_content         {position:relative;padding-bottom:2.5em}  
.section1_feature         {margin-top: 10.5em;} 
}

/*section2*/
.section2  {position: relative;z-index: 5}
.section2_title {
position: relative;
display:block;
margin: auto;
width: 100%;
color: #555;
font-size: 16px;
}
.section2_title:before {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -30px;
border: 30px solid transparent;
border-top: 30px solid #fff;
}
.section2_title           {text-align: center;margin:auto;position: relative;z-index: 3}
.section2_title span      {display: block;padding: 4em 0 5em}
.section2_content         {position: relative;}
.section2_content p       {font-size: 126%;line-height: 2;}
.section2 .icon_time      {display: inline-block;width: 12%;vertical-align: middle;width: 102px}
.section2 .text_time      {display: inline-block;width: 75%;vertical-align: middle;padding-left: 2%;line-height: 1.56789}
.section2_img1            {position: absolute;right: 0;top:10.5em}
.section2 h3              {font-size: 126%;font-weight: bold;}
.section2 .table          {margin-top: 1em;font-size: 120%;margin-bottom: 0.75em}
.section2 .table thead th:nth-child(1),
.section2 .table tbody th               {width: 24%}
.section2 .table thead th:nth-child(2),
.section2 .table thead th:nth-child(3),
.section2 .table tbody td               {width: 33%}
.section2 .table td         {text-align: center;font-size: 240%;line-height:0}
.section2 .table td span    {display: block;font-size: 110%;;line-height:0}
.section2 .table td small   {display: block;font-size: 50%;;line-height:0}
@media only screen and (max-width:520px) {
.section2_title           {margin-bottom: 0.5em;}
.section2_title span      {box-sizing: border-box;padding: 1.5em 2.5em 2.25em}
.section2_content p       {font-size: 100%;line-height: 2;}
.section2 .icon_time      {width: 60px}
.section2 .text_time      {font-size: 112%;line-height: 1.789;}
.section2 h3              {font-size: 100%;;}
.section2_img1            {top:68.5%;width: 50%;}
.section2 .table          {font-size: 80%;margin-bottom: 0;}
.section2 .table thead th:nth-child(1),
.section2 .table tbody th               {width: 28%}
.section2 .table thead th:nth-child(2),
.section2 .table thead th:nth-child(3),
.section2 .table tbody td               {width: 30%}
}
@media only screen and (min-width:521px) and (max-width:820px) {
.section2_title           {margin-bottom: 0.5em;}
.section2_title span      {box-sizing: border-box;padding: 1.5em 5em 2.5em}
.section2_content p       {font-size: 100%;line-height: 2;}
.section2 .icon_time      {width: 76px}
.section2 .text_time      {font-size: 132%;line-height: 1.789;}
.section2 h3              {font-size: 100%;;}
.section2_img1            {top:48.5%;width: 40%}
.section2 .table          {font-size: 96%;}
.section2 .table thead th:nth-child(1),
.section2 .table tbody th               {width: 26%}
.section2 .table thead th:nth-child(2),
.section2 .table thead th:nth-child(3),
.section2 .table tbody td               {width: 32%}
}
@media only screen and (min-width:821px) and (max-width:1180px) {
.section2_title           {margin-bottom: 0.5em;}
.section2_title span      {box-sizing: border-box;padding: 1.5em 2.5em 2.5em}
.section2_content p       {font-size: 100%;line-height: 2;}
.section2 .icon_time      {width: 76px}
.section2 .text_time      {line-height: 1.789;}
.section2 h3              {font-size: 100%;;}
.section2_img1            {top:35.5%;width: 35%}
.section2 .table          {font-size: 96%;}
.section2 .table thead th:nth-child(1),
.section2 .table tbody th               {width: 26%}
.section2 .table thead th:nth-child(2),
.section2 .table thead th:nth-child(3),
.section2 .table tbody td               {width: 32%}
}

/*section3*/
.section3         {padding: 3em 0 1.5em;position: relative;z-index:7}
.section3_title   {
position: relative;
display:block;
margin: auto;
width: 100%;
color: #555;
font-size: 16px;
}
.section3_title:before {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -30px;
border: 30px solid transparent;
border-top: 30px solid #eeedea;
}
.section3_title         {text-align: center;margin:auto;position: relative;z-index: 3}
.section3_title span    {display: block;padding: 5em 0 4.5em}
.section3_content       {position: relative;}
.section3_content p     {font-size: 126%;line-height: 2;}
.section3 h3            {font-size: 126%;font-weight: bold;}
.section3 ul            {display: flex;flex-wrap: wrap;justify-content: flex;align-items: top;margin-top: 1em}
.section3 ul li         {
flex-basis: 25%;
border: 1px solid #000;
border-collapse: collapse;
padding: 0.85em;
font-size: 120%;
box-sizing: border-box;
background: #fff;
position: relative;
margin-bottom: -1px;
margin-left: -1px
}
@media only screen and (max-width:520px) {
.section3_title         {margin-bottom: 0.5em;}
.section3_title span    {box-sizing: border-box;padding: 2.25em 1em 2.25em}
.section3_content p     {font-size: 100%;line-height: 2;}
.section3 h3            {font-size: 106%;font-weight: bold;}
.section3 ul li         {flex-basis: 50%;padding: 0.35em;font-size: 90%;}
}
@media only screen and (min-width:521px) and (max-width:960px){
.section3               {padding: 2.5em 0 0}
.section3_title         {margin-bottom: 0.5em;}
.section3_title span    {box-sizing: border-box;padding: 2.25em 3em 2.25em}
.section3_content p     {font-size: 110%;line-height: 2;}
.section3 h3            {font-size: 110%;font-weight: bold;}
.section3 ul li         {flex-basis: 50%;padding: 0.35em;font-size: 90%;}
}

/*section4*/
.section4               {padding: 2.5em 0;}
.section4_title         {text-align: center;margin:auto;position: relative;z-index: 3}
.section4_title span    {display: block;padding: 2em 0}
.section3_content       {position: relative;}
.section4 ul            {display: flex;flex-wrap: wrap;justify-content: flex;align-items: top;}
.section4 ul li         {
flex-basis: 25%;
border: 1px solid #000;
border-collapse: collapse;
padding: 0.75em;
font-size: 110%;
box-sizing: border-box;
background: #fff;
position: relative;
margin-bottom: -1px;
margin-right: -1px
}
.section4_content .hidden {overflow-y: scroll;max-height: 420px;box-sizing:border-box;}
@media only screen and (max-width:520px) {
.section4               {padding:0 0 1em;}
.section4_title span    {display: block;padding: 1em 0}
.section4 ul li         {flex-basis: 50%;padding: 0.25em;font-size: 80%;}
}
@media only screen and (min-width:521px) and (max-width:960px){
.section4               {padding:0 0 1em;}
.section4_title span    {display: block;padding: 1em 2.5em;box-sizing:border-box;}
.section4 ul li         {flex-basis: 50%;padding: 0.35em;font-size: 90%;}
}

/* ----------------------------------------------------------

Footer

---------------------------------------------------------- */
/*footer*/
.footer                   {padding:1.25em 0 0;}
.footer_sitemap           {padding:1.25em 0;text-align: center;margin:  auto;background: #47320e}
.footer_sitemap li        {display:inline-block;text-align:center;vertical-align:middle;padding: 0 1em;color: #fff}
.footer_sitemap li:after  {content: "｜";padding-left: 3em;padding-right:1em}
.footer_sitemap li:nth-last-child(1):after   {content: "";}
.footer_sitemap li:nth-child(1)    {padding-left: 0}
.footer_sitemap li:nth-last-child(1) {padding-right: 0}
.footer_sitemap a         {text-decoration: none!important;font-size: 90%;font-weight: 600;color: #fff}
.footer_text              {display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;text-align: center;padding: 2.5em 0}
.footer_logo              {flex-basis:50%;text-align: left;}
.footer_address           {flex-basis:50%;text-align: right; }
.footer address           {font-style: normal;font-size: 76%;line-height: normal;color: #333} 
@media only screen and (max-width:520px) {
.footer_sitemap           {display: none}
.footer_text              {padding: 1.25em 0}
.footer_logo              {flex-basis:100%;text-align: center;margin: 0.25em auto;padding: 1em;box-sizing:border-box;}
.footer_address           {flex-basis:100%;text-align: center;margin: 0.25em auto}
.footer address           {font-size: 66%;} 
}
@media only screen and (min-width:521px) and (max-width:960px) {
.footer_sitemap           {display: none}
.footer_text              {padding: 1.25em 0}
.footer_logo              {flex-basis:100%;text-align: center;margin: 0.25em auto;padding: 1em;box-sizing:border-box;max-width: 480px}
.footer_address           {flex-basis:100%;text-align: center;margin: 0.25em auto}
.footer address           {font-size: 66%;} 
}
