@charset "UTF-8";

html {
  font-size: 62.5%;
}

body {
  text-align:center;
  font-family:
   YuGothic,
   -apple-system,
   BlinkMacSystemFont,
   "Helvetica Neue",
   "ヒラギノ角ゴ ProN W3",
   Hiragino Kaku Gothic ProN,
   Arial,
   "メイリオ",
   Meiryo,
   sans-serif;
   font-size: 1.4em;
   /* color: #313131; */
   color: #003246;
}

h1{
  font-size:1rem;
  margin:0px;
  padding:0px;
}

h2{
  margin:0px;
  padding:0px;
  font-weight: 600;
  font-size: 2rem;
  /* color: #212121; */
  margin: 0 auto 2rem;
  text-align: center;
  color: #003246;
}

p{
  line-height: 2.4rem;
  font-size: 1.4rem;
  margin:0px;
  padding:0px;
}

  /* a {text-decoration: none; color:#000000;}
a:hover { text-decoration: none;color:#000000;}
a:visited{text-decoration: none;color:#000000;} */

a {text-decoration: none; color: #003246;}
a:hover {text-decoration: none; color: #003246;}
a:visited {text-decoration: none; color: #003246;}

img{
  height: auto;
  width :auto;
  margin:0px;
  padding:0px;
}

ul{
  list-style:none;
  margin:0px;
  padding:0px;
}

li {
  list-style:none;
  margin:0px;
  padding:0px;
}

summary {
  display: block;
  list-style: none;
}

summary::-webkit-details-marker {
  display:none;
}


figure {
  margin: 0;
  padding: 0;
}


/*===　ヘッダー　===*/
.common_header_box {
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99;
}
.common_header-margin {
  z-index: 0;
}

.common_heder_inner {
  background-color: #fff;
  width: 100%;
}

.header_flex_box{
   display:flex;
}

.common_header_block{
 align-items: flex-start;
 display:flex;
 justify-content: flex-start;
 margin: 0 auto;
 /* position: fixed; */
 width:100%;
 z-index: 100;
}

.common_header_logo_box{
  background-color: #463000;
  border-right: solid 1px #CCCCCC;
  height: 100%;
  width:100%;
  text-align:left;
  /* vertical-align:middle; */
  color: #fff;
  position: relative;
}

.common_header_logo_margin {
  align-content: space-between;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.common_header_logo_box p {
  color: #fff;
  margin: 0;
  text-align: right;
}

.common_tel_button{
  /* display:table-cell; */
  display: flex;
  justify-content: center;
  align-items: center;
  padding:0px;
  margin:0 auto;
  height: 100%;
  width:50px;
  text-align:center;
  line-height:90%;
  background-color:#463000;
  border-right: solid 1px #CCCCCC;
  color: #fff;
  font-size: 12px;
  position: relative;
}

.common_tel_button a {
  color: #fff;
  text-align:center;
}

.common_mail_button{
  /* display:table-cell; */
  display: flex;
  justify-content: center;
  align-items: center;
  text-align:center;
  padding:0px;
  margin:0px;
  height: 100%;
  width:50px;
  line-height:90%;
  background-color:#463000;
  color: #fff;
  font-size: 12px;
  position: relative;
}

.common_mail_button a {
  color: #fff;
  font-size: 12px;
  text-align:center;
}

.common_mail_button a > span {
  font-size: 10px;
}

.common_mail_button img {
  height: 20px;
  margin: 1px auto;
  width: 34px;
}

.common_heder-img-margin{
  margin-top:3px;
}

.common_header_logo_margin{
  margin:4px 0px 0px 11px;
}

/*===　フッター　===*/
.common_footer_block {
  background-color: #fff;
  color: #4B4B4B;
  width: 100%;
  margin: 0;
}

ul.common_footer_main_menu {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  padding-left: 0;
  text-align: left;
  /* width: 100%; */
}

ul.common_footer_main_menu li {
  border-top: solid 1px #CCCCCC;
  height: 44px;
  width: 100%;
}

/* ul.common_footer_main_menu li:last-of-type {
  border-bottom: solid 1px #CCCCCC;
} */

ul.common_footer_main_menu li a {
  display: block;
  font-size: 14px;
  font-weight: 600;
  /* height: 44px; */
  height: 14px;
  padding: 15px 20px;
  position: relative;
}

.common_footer_menu_box a,
.common_footer_menu_box a:visited {
  color: #003246;
}

.common_footer_menu_first a,
.common_footer_menu_first a:visited {
  color: #003246;
}

ul.common_footer_main_menu li a::after {
  border-top: solid 1px #4B4B4B;
  border-right: solid 1px #4B4B4B;
  content: '';
  height: 10.6px;
  position: absolute;
  right: 20px;
  top:17.5px;
  transform: rotate(45deg);
  -webkit-transform: rorate(45deg);
  -moz-transform: rorate(45deg);
  width: 10.6px;
}

.common_footer_menu_box label {
  border-top: solid 1px #CCCCCC;
  cursor: pointer;
  display: block;
  font-size: 14px;
  font-weight: 600;
  height: 44px;
  position: relative;
  text-align: left;
  width:100%;
}

.common_footer_menu_box label p {
  color: #003246;
  font-size: 14px;
  font-weight: 600;
  line-height: 1em;
  padding: 15px 20px;
  text-align: left;
}

.common_footer_menu_box label::after {
  border-top: solid 1px #4B4B4B;
  border-right: solid 1px #4B4B4B;
  content: '';
  height: 10.6px;
  position: absolute;
  right: 20px;
  top:17.5px;
  transform: rotate(135deg);
  -webkit-transform: rorate(135deg);
  -moz-transform: rorate(135deg);
  width: 10.6px;
}

.common_footer_menu_box input[type="checkbox"].common_footer_acc {
  display: none;
}

ul.common_footer_sub_menu  {
  align-items: flex-start;
  background-color: rgba(0, 50, 70, 0.1);
  display: flex;
  flex-direction: column;
  padding-left: 0;
  width: 100%;
}

ul.common_footer_sub_menu li {
  background-color: rgba(0, 50, 70, 0.1);
  border-top: solid 1px #CCCCCC;
  height: 44px;
  width: 100%;
}

ul.common_footer_sub_menu li a {
  display: block;
  font-size: 14px;
  font-weight: 400;
  height: 14px;
  padding: 15px 40px;
  position: relative;
}

.common_footer_menu_box input[type="checkbox"].common_footer_acc + ul {
  height: 0px;
  overflow: hidden;
}

.common_footer_menu_box  input[type="checkbox"].common_footer_acc:checked + ul {
  height: 315px;
}

.common_footer_logo_box {

}

.common_footer_add p {
  font-size: 12px;
  line-height: 24px;
  margin: 10px auto;
  text-align: center;
}


/*===============================================
●スマホ用（700px未満）
===============================================*/
@media screen and (max-width:699px) {
  body {
    width:100%;
    margin:0 auto;
   }

  /*===　スマホのみ表示　===*/
  .common_pcnone {
    display: block;
  }

  /*===　ヘッダー　===*/
  .common_header_box{
    margin:0px;
    padding:0px;
    border-bottom:solid 1px #c9c9c9;
    height: 50px;
   }

   .common_heder_inner {
     height: 50px;
   }

   .common_header_block{
    height: 100%;
    width:100%;
   }

  .common_header_logo_width{
    width:149px;
   }

  .common_header_logo_box{
    flex: 1 0 52%;
  }

 .common_header_logo_box p {
   font-size: 10px;
   line-height: 0.3em;
   margin: 0;
   padding: 0;
   width: 149px;
 }

  .common_tel_number {
    display: none;
  }

  .common_tel_button{
    flex: 0 0 15.6%;
  }

 .common_tel_button a {
   font-size: 12px;
 }

 .common_tel_button img {
   height: 30px;
   margin: 2px auto;
   width: 23px;
 }

 .common_mail_button{
   flex: 0 0 15.6%;
 }

 .common_mail_button a {
   font-size: 12px;
 }

 .common_mail_button a > span {
   font-size: 10px;
 }

 .common_mail_button img {
   height: 20px;
   margin: 1px auto;
   width: 34px;
 }

 .common_header-margin {
   margin-bottom: 50px;
 }

 /*===　コンテンツ　===*/
 img {
   max-width: 100%;
 }
 .common_main_visual {
   position: relative;
 }
 .common_main_visual .common_main_visual_img img {
   width: 100%;
   vertical-align: middle;
 }
 .common_main_visual .common_main_visual_text {
   position: absolute;
   top: 50%;
   left: 50%;
   width: 87.5%;
   max-width: 280px;
   padding: 10px 15px;
   transform: translate(-50%, -50%);
   background: rgba(0, 0, 0, 0.3);
   text-align: center;
 }
 .common_main_visual .common_main_visual_text span {
   display: block;
   color: #fff;
 }
 .common_main_visual .common_main_visual_text span:nth-of-type(1) {
   font-size: 20px;
   font-weight: bold;
   font-family: YuGothic;
   letter-spacing: 4px;
 }
 .common_main_visual .common_main_visual_text span:nth-of-type(2) {
   font-size: 14px;
   font-family: YuGothic;
   letter-spacing: 4.2px;
 }

 .common_blue_box_title {
   padding: 15px 0;
   text-align: center;
   background-color: #003246;
   font-size: 18px;
   font-weight: bold;
   font-family: YuGothic;
   color: #fff;
 }

 .common_contents_main {
   padding-bottom: 80px;
   background-color: #F5F5F5;
 }

 .common_border_left_title {
   padding:8px 0 8px 10px;
   border-left: 10px solid #003246;
   font-size: 16px;
   color: #003246;
   font-weight: bold;
   text-align: left;
 }

 .common_border_title {
   font-size: 18px;
   font-weight: bold;
   font-family: YuGothic;
   color: #003246;
   text-align: center;
 }
 .common_border_title span {
   position: relative;
 }
 .common_border_title span::before {
   content: '';
   position: absolute;
   top: 50%;
   left: -40px;
   margin-top: -1px;
   width: 20px;
   height: 1px;
   background-color: #003246;
 }
 .common_border_title span::after {
   content: '';
   position: absolute;
   top: 50%;
   right: -40px;
   margin-top: -1px;
   width: 20px;
   height: 1px;
   background-color: #003246;
 }


 .common_media_box_list {
   display: flex;
   flex-wrap: wrap;
 }
 .common_media_box_list > div:not(:first-child) {
   margin-top: 20px;
 }
 .common_media_box {
   width: 100%;
 }
 .common_media_box figure img {
   max-width: 100%;
 }
 .common_media_box .description {
   margin-top: 5px;
   font-size: 12px;
   line-height: 1.8;
   color: #003246;
   text-align: left;
 }


  /*===　フッター　===*/
  .common_footer_menu_box {
    max-height: 898px;
    min-height: 586px;
    margin-bottom: 10px;
  }

  ul.common_footer_main_menu {
    width: 100%;
  }

  ul.common_footer_main_menu li:last-of-type {
    border-bottom: solid 1px #CCCCCC;
  }

  .common_footer_add p {
    font-size: 12px;
  }

  .common_footer_logo_width{
    width:46.4%;
   }

  .common_footer_copyright{
    margin:8px 0px 60px 0px;
    font-size:8pt;
    color:#4B2D1C;
   }


}

/*===============================================
●PC・タブレット用（700px以上）
===============================================*/
@media screen and (min-width:700px){
  body {
    width:100%;
    max-width:1000px;
    margin:0 auto;
   }

   /*===　スマホのみ表示　===*/
   .common_pcnone {
     display: none;
   }

  /*===　ヘッダー　===*/
  .common_header_box{
    padding:0px;
    margin:0px;
    display:inline-block;
    height: 70px;
    text-align:center;
    width:100%;
   }

   .common_heder_inner {
     height: 70px;
   }

  .common_header_block{
    border-bottom:solid 1px #c9c9c9;
    height: 100%;
    max-width: 1000px;
  }

  .common_header_logo_width{
    width:226px;
   }

  .common_header_logo_box{
    border-right: solid 0px transparent;
    flex: 1 0 40%;
  }

  .common_header_logo_box p {
    font-size: 12px;
    line-height: 0;
    margin: 0;
    padding: 0;
    width: 226px;
  }

  .common_tel_number {
    align-items: center;
    background-color:#463000;
    border-right: solid 1px #CCCCCC;
    display: flex;
    flex: 0 0 28%;
    height: 100%;
    justify-content: center;
    width: 250px;
  }

  .common_tel_number a {
    background-color:#463000;
    color: #fff;
    display: block;
    font-size: 18px;
    font-weight: 800;
    padding-bottom: 21.5px;
    padding-top: 21.5px;
    text-align: center;
  }

  .common_tel_button{
    flex: 0 0 12%;
  }

  .common_tel_button a {
    font-size: 14px;
  }

  .common_tel_button img {
    height: 36px;
    margin: 4px auto;
    width: 27.6px;
  }

  .common_mail_button{
    flex: 0 0 12%;
  }

  .common_mail_button a {
    font-size: 14px;
  }

  .common_mail_button a > span {
    font-size: 12px;
  }

  .common_mail_button img {
    height: 30px;
    margin: 4px auto;
    width: 51px;
  }

  .common_header-margin {
    margin-bottom: 70px;
  }

  /*===　コンテンツ　===*/
  .common_main_visual {
    position: relative;
  }
  .common_main_visual .common_main_visual_img img {
    width: 100%;
    vertical-align: middle;
  }
  .common_main_visual .common_main_visual_text {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 87.5%;
    max-width: 280px;
    padding: 10px 15px;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.3);
    text-align: center;
  }
  .common_main_visual .common_main_visual_text span {
    display: block;
    color: #fff;
  }
  .common_main_visual .common_main_visual_text span:nth-of-type(1) {
    font-size: 20px;
    font-weight: bold;
    font-family: YuGothic;
    letter-spacing: 4px;
  }
  .common_main_visual .common_main_visual_text span:nth-of-type(2) {
    font-size: 14px;
    font-family: YuGothic;
    letter-spacing: 4.2px;
  }

  .common_blue_box_title {
    padding: 15px 0;
    text-align: center;
    background-color: #003246;
    font-size: 18px;
    font-weight: bold;
    font-family: YuGothic;
    color: #fff;
  }

  .common_contents_main {
    padding-bottom: 80px;
    background-color: #F5F5F5;
  }

  .common_border_left_title {
    padding:8px 0 8px 10px;
    border-left: 10px solid #003246;
    font-size: 16px;
    color: #003246;
    font-weight: bold;
    text-align: left;
  }

  .common_border_title {
    font-size: 18px;
    font-weight: bold;
    font-family: YuGothic;
    color: #003246;
    text-align: center;
  }
  .common_border_title span {
    position: relative;
  }
  .common_border_title span::before {
    content: '';
    position: absolute;
    top: 50%;
    left: -40px;
    margin-top: -1px;
    width: 20px;
    height: 1px;
    background-color: #003246;
  }
  .common_border_title span::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -40px;
    margin-top: -1px;
    width: 20px;
    height: 1px;
    background-color: #003246;
  }


  .common_media_box_list {
    display: flex;
    flex-wrap: wrap;
  }
  .common_media_box_list > div {
   width: 49%;
  }
  .common_media_box_list > div:nth-of-type(2n) {
   margin-left: 2%;
  }
  .common_media_box_list > div:not(:nth-of-type(-n+2)) {
    margin-top: 20px;
  }
  .common_media_box {
    width: 100%;
  }
  .common_media_box figure img {
    max-width: 100%;
  }
  .common_media_box .description {
    margin-top: 5px;
    font-size: 12px;
    line-height: 1.8;
    color: #003246;
    text-align: left;
  }
  .common_one_media_box {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%!important;
  }
  .common_one_media_box figure {
    width: 49%;
  }
  .common_one_media_box .description {
    width: 49%;
    padding-left: 2%;
  }


  /*===　フッター　===*/
  .common_footer_menu_box {
    border-bottom: solid 1px #CCCCCC;
    height: 452px;
    margin-bottom: 10px;
  }

  ul.common_footer_main_menu {
    align-content: flex-start;
    flex-wrap: wrap;
    height: 100%;
    width: 50%;
  }

  ul.common_footer_main_menu li:last-of-type {
    border-bottom: solid 0px transparent;
  }

  .common_footer_add p {
    font-size: 12px;
  }

  .common_footer_logo_width{
    width:20%;
   }

  .common_footer_copyright{
    margin:15px 0px 60px 0px;
    font-size:10pt;
    color:#4B2D1C;
   }

}
