@charset "utf-8";

/* -----------------------------------------------------------
 File name      common.css
 Style Info     index�y�[�W�pCSS
----------------------------------------------------------- */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  height: 100%;
}

body#top,
body#other,
body#other02,
body#other03 {
  font-family: "�l�r �o�S�V�b�N", "���C���I", "�q���M�m�p�S Pro W3", "Osaka-����", sans-serif;
  font-size: 14px;
  font-style: normal;
  line-height: 1.8em;
  font-weight: normal;
  font-variant: normal;
  color: #333333;
  margin: 0px;
  padding: 0px;
}

body#top {
}
body#other {
  background: url(../img/common/otherMain_Bg.jpg) no-repeat top center;
}
body#other02 {
  background: url(../img/form/form_bg.jpg) no-repeat top center;
}
body#other03 {
  background: url(../img/privacy/privacy_bg.jpg) no-repeat top center;
}

/* for IE6 */
* html body {
  font-size: 80%;
  line-height: 120%;
}

/* for IE7 */
*:first-child + html body {
  font-size: 80%;
}

img {
  border: none;
}

a img {
  border: none;
}

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

#header {
  position: relative;
  width: 100%;
  height: 145px;
  margin: 0px auto 3px auto;
  padding: 0px;
  background-image: url(../img/common/bk_header.gif);
  background-size: contain;
  zoom: 1;
}

#sec_header {
  position: relative;
  width: 100%;
  max-width: 980px;
  height: 113px;
  margin: 0px auto;
  padding: 0px;
  zoom: 1;
}

#logo {
  position: absolute;
  /*bottom:0px;*/
  left: 0;
  zoom: 1;
  top: 11px;
  width: 238px;
  height: 37px;
}

.description {
  position: absolute;
  width: auto;
  font-size: 12px;
  color: #4d7233;
  font-weight: bold;
  top: 25px;
  left: 258px;
  zoom: 1;
}

#haed_menu {
  width: 390px;
  position: absolute;
  right: 0px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#haed_menu div {
  width: calc(100% / 2 - 1%);
  margin-bottom: 5px;
}
#haed_menu div a {
  display: block;
}

#haed_menu div a img {
  width: 100%;
  display: block;
}

ul#gNav {
  position: absolute;
  width: 980px;
  height: 55px;
  top: 82px;
  margin: 0px;
  padding: 0px;
}

ul#gNav li {
  display: block;
  float: left;
  margin: 0px;
  padding: 0px;
}

#NavTop {
  position: absolute;
  width: 51px;
  height: 17px;
  left: 520px;
  top: 21px;
}

#NavSeikyu {
  position: absolute;
  width: 198px;
  height: 33px;
  left: 589px;
  top: 3px;
}

#Kengaku {
  position: absolute;
  width: 198px;
  height: 33px;
  left: 789px;
  top: 3px;
}

#dep {
  position: absolute;
  width: 198px;
  height: 33px;
  left: 590px;
  top: 37px;
}
#pnf {
  position: absolute;
  width: 198px;
  height: 33px;
  left: 790px;
  top: 37px;
}

/* ------- header end ------- */

div#container {
  width: 100%;
  margin: 0px auto;
  padding: 0px;
}

div#pageTop {
  width: 106px;
  padding: 10px 10px 0px 884px;
  margin: 0px auto;
}

/* ------- footer ------- */

div#footerBg {
  width: 100%;
  background: url(../img/common/footer_bg.gif) repeat-x top;
  background-color: #fff;
  min-height: 220px;
  padding: 0px 10px 0px 10px;
  margin: 0px;
}

div#footerBg02 {
  width: 100%;
  background-color: #84be0a;
  min-height: 100px;
  padding: 15px 0px 15px 0px;
  margin: 0px;
}

div#footer {
  width: 980px;
  margin: 0px auto;
  padding: 0px 0px 10px 0px;
}

div#footer02 {
  width: 980px;
  margin: 0px auto;
  padding: 0px 0px 10px 0px;
}

ul#footerNav {
  display: block;
  width: 821px;
  height: 16px;
  margin: 0px auto 37px auto;
  padding: 20px 0px 0px 0px;
}

ul#footerNav li,
ul#footerNav li a {
  display: block;
  height: 16px;
  float: left;
  margin: 0px;
  padding: 0px;
}

ul#footerNav li img {
  display: block;
  height: 16px;
  margin: 0px 5px;
}

div#footerCntents {
  width: 980px;
  margin: 0px auto;
  padding: 0px;
}

div#footerContents_L {
  width: 70%;
  margin: 0px auto;
  padding: 0px;
}
/*250328-----------*/
.footer_left {
  float: left;
  width: 60% !important;
}
@media screen and (max-width: 767px) {
  .footer_left {
    width: 100% !important;
  }
  div#footerBg {
    background: none;
  }
}
/*------------------*/
div#footerContents_R {
  width: 381px;
  float: right;
  margin: 0opx;
  padding: 0px;
}

div#meihouBox,
div#meitouBox {
  background-color: #ffffff;
  font-size: 16px;
  text-align: left;
  line-height: 1.4em;
  padding: 10px;
  margin: 0px 0px 15px;
  border: #a6d178 solid 1px;
}

div#meihouBox a,
div#meitouBox a {
  color: #000;
  text-decoration: none;
}

div#meihouBox a:hover,
div#meitouBox a:hover {
  color: #64ab25;
  text-decoration: none;
  font-weight: bold;
}

div#meihouBox {
  width: 556px;
}
div#meitouBox {
  width: 361px;
}

p.footerTit {
  background: url(../img/common/footerIcon.gif) no-repeat left;
  padding: 0px 0px 0px 18px;
  /*font-weight:bold;*/
  vertical-align: middle;
}

p.footerTit a {
  color: #000;
  text-decoration: none;
}

p.footerTit a:hover {
  color: #64ab25;
  text-decoration: none;
  font-weight: bold;
}

div#addressBox {
  width: 540px;
  font-size: 14px;
  font-weight: bold;
  color: #ffffff;
  margin: 0px;
  padding: 0px;
}

/* ------ phase3 -------- */

#footerLogo_area {
  width: 100%;
  height: 60px;
  background: #c1da8c;
}

#footerLogo {
  width: 980px;
  margin: 0 auto;
  padding: 10px;
}

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

.clearfix:after {
  /* for Modern Browser */
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  font-size: 0;
}

.img_left {
  float: left;
}
.img_right {
  float: right;
}

p.clear {
  clear: both;
}

span.att {
  font-weight: bold;
}

.mb10 {
  margin-bottom: 10px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}
.mb50 {
  margin-bottom: 50px !important;
}
.mb60 {
  margin-bottom: 60px !important;
}
.txtaC {
  text-align: center !important;
}
.txtaR {
  text-align: right !important;
}
.txtaL {
  text-align: left !important;
}
.fwb {
  font-weight: bold !important;
}
.fcBlue {
  color: #3773bb !important;
}
.fcRed {
  color: #ff0000 !important;
}
.floatL {
  float: left !important;
}
.floatR {
  float: right !important;
}

/*190204*/
h4.other_title {
  background: url(../img/summary/h4_tit_bg.png) repeat-x;
  font-size: 30px;
  color: #64ab25;
  line-height: 65px;
  letter-spacing: 0.1em;
  padding-left: 20px;
  margin-bottom: 20px;
}
ul.right {
  display: block;
  width: 420px !important;
  float: right;
  padding: 5px 10px 0 0;
}
ul.type_1 {
  width: 98%;
  margin: 10px auto;
}
ul.type_1 li {
  position: relative;
  font-weight: 900;
  margin-bottom: 10px;
  padding-left: 20px;
  box-sizing: border-box;
}

ul.type_1 li:before {
  font-family: "Font Awesome 5 Free", "Quicksand", "Avenir", "Arial", sans-serif;
  content: "\f138";
  font-weight: 900;
  position: absolute;
  left: 0px;
  color: #64ab25;
}

ul.type_2 {
  overflow: hidden;
}
ul.type_2 li {
  float: left;
  width: 50%;
}
ul.num {
  counter-reset: number 0; /* number �̃J�E���^�� 0 �ɃZ�b�g */
  width: 98%;
  margin: 10px auto;
  font-weight: 900;
}
ul.num > li {
  position: relative;
  padding-left: 15px;
  margin-bottom: 10px;
  box-sizing: border-box;
}
ul.num > li:before {
  counter-increment: number 1; /* number �J�E���^�̑��������Z�b�g */
  content: counter(number) " "; /* �\���`�����w�� */
  font-weight: 900;
  position: absolute;
  left: 0px;
  color: #64ab25;
}

.houmon h5 {
  background: #80b90a;
  color: #fff;
  padding: 10px;
  margin: 40px auto 20px;
}
.houmon h5 span {
  display: block;
  padding: 5px;
  width: 100%;
  border-bottom: 3px dashed #fff;
  box-sizing: border-box;
  font-size: 19px;
}
.houmon span.bold {
  font-weight: bold;
}
.houmon span.blue {
  color: #0c55b4;
}
.houmon table.shiten th,
.houmon table.shiten td {
  width: auto !important;
}
.houmon ul.sub_nav {
  width: 90%;
  margin: 40px auto 20px;
  padding: 15px 2%;
  background: #e4e3cf;
  border-radius: 0px 20px 20px 20px;
  position: relative;
}

.houmon ul.sub_nav:before {
  position: absolute;
  background: #e4e3cf;
  content: "Contents";
  top: -27px;
  left: 0;
  font-weight: 900;
  border-radius: 20px 20px 0px 0px;
  width: 120px;
  text-align: center;
  border-bottom: 2px dashed #64ab25;
}
.houmon ul.sub_nav li {
  /*float: left;*/
  width: auto;
  padding-left: 20px;
  position: relative;
  font-weight: 900;
  margin-right: 20px;
  letter-spacing: 0.1em;
}

.houmon ul.sub_nav li:before {
  font-family: "Font Awesome 5 Free", "Quicksand", "Avenir", "Arial", sans-serif;
  content: "\f0a9";
  font-weight: 900;
  position: absolute;
  left: 0px;
  color: #64ab25;
}

.houmon ul.sub_nav li a {
  color: #222;
  text-decoration: none;
}

.houmon p.btn {
  width: 400px;
  text-align: center;
  background: #6ba62c;
  padding: 10px 0;
  border-radius: 10px;
  transition: all 0.3s;
}
.houmon p.btn:hover {
  opacity: 0.8;
}
.houmon p.btn a {
  color: #fff;
  text-decoration: none;
}
.houmon table a.btn {
  text-decoration: none;
  display: block;
  letter-spacing: 0.2em;
  padding: 5px 10px;
  margin: 5px 0;
  border-radius: 10px;
  width: 125px;
  text-align: center;
  background: #64ab25;
  color: #fff;
}
.houmon .h3_suTit_meihou,
.houmon .h3_innerTit_meihou {
  margin-top: 30px;
  margin-bottom: 15px;
}
.houmon h4.other_title {
  margin-top: 20px;
}
.houmon .houmon_about {
  width: 900px;
  margin: 20px auto 40px;
  background: url("../img/summary/bg_houmon.png") 50% 100% no-repeat;
  height: 160px;
}
.houmon .houmon_about p {
  padding: 20px;
  width: 680px;
}
.btn_green {
  background: #6ba62c;
  border-radius: 10px;
  text-align: center;
  padding: 10px;
}
.btn_green a {
  color: #fff;
  display: block;
  text-decoration: none;
}
.fas_button_rec {
  border: none;
  padding-top: 20px;
  height: 40px !important;
  line-height: 1;
  color: #fff;
  border-radius: 17px;
  font-size: 1.1em;
  cursor: pointer;
  text-decoration: none !important;
  width: 132px;
  padding: 10px;
  margin: 5px;
  line-height: 19px;
  display: flex;
  align-items: center;
  font-weight: bold;
  letter-spacing: 1.1px;
}

.fas_button_rec:before {
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f138";
  margin-right: 5px;
}

.blue {
  background: #1c5093;
}

.green {
  background: #84be0a;
}

.pink {
  background: #f296a6;
}
/*250206追加----------------------------*/
.houmon p a.btn_houmon {
  text-decoration: none;
  display: block;
  letter-spacing: 0.2em;
  padding: 5px 10px;
  margin: 20px 0 35px;
  border-radius: 10px;
  width: 350px;
  text-align: center;
  background: #64ab25;
  color: #fff;
}
.houmon p a.btn_houmon:before {
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f138";
  margin-right: 5px;
}

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

/*ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 230725

スマホ対応

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
/*pc only 
sp only*/

.pc_only {
  display: block;
}

.sp_only {
  display: none;
}

.sp_br {
  display: none;
}

.pc_br {
  display: inline-block;
}

/* pc footer*/

.property {
  font-size: 17px;
  display: block;
  margin-bottom: 10px;
}

.sp_header {
  display: none;
}

.img_box {
  width: 90%;
  max-width: 100%;
}

.img_box img {
  width: 100%;
}

#addressBox {
  display: flex;
  padding: 5px;
  justify-content: space-around;
  width: 100% !important;
}

#addressBox div {
  width: 48%;
}

#addressBox h5 {
  border-left: 2px solid white;
  padding-left: 5px;
  margin-left: 5px;
  margin-bottom: 15px;
}

div#footerContents_R {
  width: 37%;
}

div #footerContents_L > p {
  color: white;
}

/*各下層ページ*/
.movie_box {
  margin: 30px auto;
}
.movie_box > iframe {
  width: 560px;
  height: 315px;
}
.mb0 {
  margin-bottom: 0 !important;
}

@media screen and (max-width: 767px) {
  /*    pc only
    sp only*/

  .pc_only {
    display: none;
  }
  .sp_only {
    display: block;
  }

  body {
    padding-top: 80px !important;
  }

  .flex {
    display: block;
  }

  /* header   */

  #header {
    position: relative;
    width: 100%;
    height: 80px;
    margin: 0px auto 3px auto;
    padding: 0px;
    background-image: none;
    background: #c1da8c;
    position: fixed;
    top: 0px;
    z-index: 999;
  }

  #logo {
    position: absolute;
    /*bottom:0px;*/
    left: 10px;
    zoom: 1;
    top: 9px;
  }

  .pc_header {
    display: none;
  }
  .sp_header {
    display: block;
  }
  #sec_header {
    width: 100%;
  }

  .gnav_sp > .logo > #logo > img {
    width: 80%;
    text-align: right;
  }

  .logo > h2 {
    margin-top: 20px;
  }

  /*ハンバーガーメニューここから*/
  .gnav_sp {
    display: flex;
    justify-content: space-between;
  }

  .header {
    height: 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
  }

  .logo {
    font-weight: 700;
    padding-left: 14px;
  }

  .hamburger-menu {
    width: 58px;
    height: 50px;
    position: relative;
    border: none;
    background: transparent;
    appearance: none;
    padding: 0;
    cursor: pointer;
    margin-right: 15px;
    margin-top: 8px;
  }

  .hamburger-menu__bar {
    display: inline-block;
    width: 80%;
    height: 3px;
    background: #577b3a;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    transition: 0.5s;
  }

  .hamburger-menu__bar:first-child {
    top: 16px;
  }

  .hamburger-menu__bar:nth-child(2) {
    top: 30px;
  }

  .hamburger-menu__bar:last-child {
    top: 45px;
  }

  .hamburger-menu--open .hamburger-menu__bar {
    top: 50%;
  }

  .hamburger-menu--open .hamburger-menu__bar:first-child {
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
  }

  .hamburger-menu--open .hamburger-menu__bar:last-child {
    transform: translateX(-50%) translateY(-50%) rotate(-45deg);
  }

  .hamburger-menu--open .hamburger-menu__bar:nth-child(2) {
    display: none;
  }

  .navigation {
    display: none;
    background: #59a211;
    position: absolute;
    top: 70px;
    width: 100%;
    z-index: 9999;
  }

  .navigation :nth-child(5),
  .navigation :nth-child(6),
  .navigation :nth-child(7),
  .navigation :nth-child(8) {
    background: #a1c554;
  }

  .navigation__list {
    text-align: center;
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .navigation__list-item {
    border-bottom: solid 1px #fff;
  }

  .navigation__list-item:first-child {
    border-top: solid 1px #fff;
  }

  .navigation__link {
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    display: block;
    padding: 14px 8px;
    transition: 0.5s;
    text-align: left;
  }

  /* SP footer*/

  .sp_br {
    display: block;
  }

  .pc_br {
    display: none;
  }

  #footerNav {
    display: none !important;
  }
  div #footerCntents {
    width: 100% !important;
  }
  div #pageTop {
    width: 100%;
  }
  div #footerContents_L {
    float: none;
    width: 100%;
  }

  #footerContents_L > p {
    margin-left: 15px;
  }

  div #footerContents_R {
    float: none;
    width: 100%;
  }

  div #meihouBox {
    width: 100%;
    padding: 10px;
    font-size: 14px;
  }

  div#meitouBox {
    width: 100%;
    padding: 10px;
    font-size: 14.5px;
  }

  div #footerContents_R {
    float: none;
  }
  div #footer {
    width: 100%;
  }

  div #footer02 {
    width: 100%;
  }

  #footerLogo_area {
    height: 68px;
  }
  #footerLogo {
    padding: 12px 0px 15px 10px;
    width: 100%;
    height: 70px;
  }

  div #addressBox {
    display: block;
    width: 100%;
    margin-bottom: 30px;
  }
  #addressBox div {
    width: 100%;
  }

  #addressBox h5 {
    border-left: 2px solid white;
    padding-left: 5px;
    margin-left: 15px;
    margin-bottom: 15px;
  }

  /*    各下層ページ*/
  div#pageTop {
    display: none;
  }

  .movie_box {
    margin: 30px auto;
  }
  .movie_box > iframe {
    width: 100%;
    height: auto;
  }

  .houmon .houmon_about,
  .houmon .houmon_about p {
    width: 100%;
    background: none;
  }

  h4.other_title {
    font-size: 18px;
    letter-spacing: 0;
  }

  .scroll_x {
    overflow: scroll;
    width: 100%;
    white-space: nowrap;
  }

  .scroll_x > .table_zaitaku_1,
  .scroll_x > .table_zaitaku_2 {
    width: 800px;
  }
}

/* コピーライト
-------------------------------------------------------------------------*/
#copyright {
  width: 100%;
  margin: 0 auto;
  padding: 10px;
  background: #84be0a;
}
#copyright p {
  font-size: 14px;
  text-align: center;
  color: #ffffff;
}

/* 70周年記念ロゴ
-------------------------------------------------------------------------*/
.foot_seventy {
  width: 100%;
  margin: 0 auto;
  padding: 20px;
  background: #fff;
}
.foot_seventy img {
  display: block;
  margin: 0 auto;
  width: auto;
  height: 120px;
}

@media screen and (max-width: 767px) {
}
