@charset "utf-8";
/* CSS Document */

body {
	font-size: 13px;
	font-size: 1.3rem;
  background: #EDF0F7;
}
.sp_none { display: none !important; }
.sp_block { display: block; }

/* Tablet */
@media (min-width: 768px) {

	body { font-size: 16px; font-size: 1.6rem; }
	
	.sp_none { display: inherit !important; }
	.pc_none { display: none !important; }
	
	.sp_block { display: inline; }
	.pc_block { display: block; }
	.over_hid_pc { overflow: hidden; }
}

/* DeskTop */
@media (min-width: 980px) {
}

/*---------------------------------------------------------------------
	container
---------------------------------------------------------------------*/
#container {
  /*overflow: hidden;*/
  background: #fff;
}

/*.js-fadein#container {
	animation: anime-loader-fadein .7s .5s 1 normal both;
}

.js-fadeout#container {
	animation: anime-loader-fadeout .5s 0s 1 normal both;
}*/
@keyframes anime-loader-fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes anime-loader-fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/*---------------------------------------------------------------------
	edit_btn
---------------------------------------------------------------------*/
#edit_btn {
    background: #444;
    position: fixed;
    right: 0;
    bottom: 0;
    width: 100%;
  display: none;
  z-index: 100;
}
#edit_btn #edit_btn_inner {
  padding: 5px 10px;
  margin: 0 auto;
}
#edit_btn a {
  color: #333;
  font-size: 13px;
  border-radius: 4px;
  display: block;
  float: right;
  font-weight: bold;
  margin: 5px 0 5px 5px;
  padding: 3px 15px 4px;
  text-decoration: none;
  background-image: -moz-linear-gradient(50% 0% -90deg, rgb(255,255,255) 0%, rgb(238,238,238) 100%);
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0, rgb(255,255,255)), color-stop(1, rgb(238,238,238)));
  background-image: -webkit-linear-gradient(-90deg, rgb(255,255,255) 0%, rgb(238,238,238) 100%);
  background-image: -o-linear-gradient(-90deg, rgb(255,255,255) 0%, rgb(238,238,238) 100%);
  background-image: -ms-linear-gradient(-90deg, rgb(255,255,255) 0%, rgb(238,238,238) 100%);
  background-image: linear-gradient(180deg, rgb(255,255,255) 0%, rgb(238,238,238) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffffff,endColorstr=#ffeeeeee,GradientType=0)";
 filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffffff, endColorstr=#ffeeeeee, GradientType=0);
}
#edit_btn a:hover {
  background-image: -moz-linear-gradient(50% 0% -90deg, rgb(238,238,238) 0%, rgb(255,255,255) 100%);
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0, rgb(238,238,238)), color-stop(1, rgb(255,255,255)));
  background-image: -webkit-linear-gradient(-90deg, rgb(238,238,238) 0%, rgb(255,255,255) 100%);
  background-image: -o-linear-gradient(-90deg, rgb(238,238,238) 0%, rgb(255,255,255) 100%);
  background-image: -ms-linear-gradient(-90deg, rgb(238,238,238) 0%, rgb(255,255,255) 100%);
  background-image: linear-gradient(180deg, rgb(238,238,238) 0%, rgb(255,255,255) 100%);
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffeeeeee,endColorstr=#ffffffff,GradientType=0)";
 filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffeeeeee, endColorstr=#ffffffff, GradientType=0);
}

/* DeskTop */
@media (min-width: 980px) {
  #edit_btn { display: block; }
}

/*---------------------------------------------------------------------
	goToSpSiteButton
---------------------------------------------------------------------*/
#goToSpSiteButton {
  display: none;
  text-align: center;
  background-color: #fff;
}
#goToSpSiteButton a {
  background: #55ba45 none repeat scroll 0 0;
  color: #fff;
  display: inline-block;
  font-size: 60px;
  font-size: 6rem;
  line-height: 1.6;
  margin: 15px auto;
  padding: 0;
  text-align: center;
  text-decoration: none;
  width: 80%;
}

@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {
  #goToSpSiteButton {
    display: block;
    text-align: center;
  }
}

/*---------------------------------------------------------------------
	site_header
---------------------------------------------------------------------*/
#site_header {
  background: #fff;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  /*height: 50px;*/
  z-index: 100;
}
.site_header_inner {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  position: relative;
}

/* logo */
.site_logo {
  width: 250px;
  padding: 5px 10px;
  opacity: 0;
  animation: fade_logo 2s ease .5s forwards;
}
.site_logo a {
  display: block;
}
@keyframes fade_logo {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

/* DeskTop */
@media (min-width: 980px) {
  .site_header_inner {
    align-items: center;
    padding: 15px 20px;
    height: auto;
  }
  .site_logo {
    padding: 0;
  }
}

/* DeskTop */
@media (min-width: 1920px) {
  .site_header_inner {
    padding: 25px 20px 25px 40px;
  }
}

/*---------------------
	site_navi
----------------------*/
#site_navi {
	backface-visibility: hidden;
	/*background-color: #EDF0F7;*/
	background-color: rgba(237,240,247,0.8);
	position: absolute;
    left: 0;
    top: 0;
    width: 100%;
	z-index: 100;
	overflow: hidden;
	padding: 80px 20px 20px;
		
	/* リストの基本動き　隠しておく */
	opacity: 0;
	transform: rotateX(-90deg);
	-webkit-transform: rotateX(-90deg);
    transform-origin: top right 0;
	-webkit-transform-origin: top right 0;
    transition: all 0.6s cubic-bezier(0.175, 0.885, 0.315, 1.16) 0.8s;
}
#site_navi.activ{
	/* activeになった時に表示させる */
	opacity: 1;
	transform: rotateX(0deg);
	-webkit-transform: rotateX(0deg);
	
	height: 100%;
    position: fixed;
	transition: all 0.4s cubic-bezier(0.175, 0.885, 0.315, 1.16) 0.4s;
}

#site_navi > .inner {
	height: 100%;
    overflow: scroll;
	-webkit-overflow-scrolling: touch;
}

/* site_navi_list */
#site_navi > ul {}
#site_navi li {
	font-size: 1.8rem;
	
	/* リストの基本動き　隠しておく */
	opacity: 0;
	transform: rotateY(90deg);
	position: relative;
    //right: -240%;
	transition: all 1s ease 0s;
}
#site_navi.activ li {
	/* activeになった時に表示させる */
	opacity: 1;
	//right: 0;
	transform: rotateY(0deg);
	transition: all .3s ease .5s;
}
#site_navi ul li a {
    color: #000;
    display: block;
    padding: 12px 0;
    margin-bottom: 10px;
    text-align: center;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #ccc;
}

#site_navi ul li a span{
  position: relative;
}
#site_navi ul li a span:before{
  content: '';
  position: absolute;
  width: 18px;
  height: 20px;
  top: 4px;
  left: -25px;
}
#site_navi ul li a .sp_navi_icon01:before{
  background: url('../image/icon_navi_01.png');
  background-size: contain;
  background-repeat: no-repeat;
}
#site_navi ul li a .sp_navi_icon02:before{
  background: url('../image/icon_navi_02.png');
  background-size: contain;
  background-repeat: no-repeat;
}
#site_navi ul li a .sp_navi_icon03:before{
  background: url('../image/icon_navi_03.png');
  background-size: contain;
  background-repeat: no-repeat;
}
#site_navi ul li a .sp_navi_icon04:before{
  background: url('../image/icon_navi_04.png');
  background-size: contain;
  background-repeat: no-repeat;
}
#site_navi ul li a .sp_navi_icon05:before{
  background: url('../image/icon_navi_05.png');
  background-size: contain;
  background-repeat: no-repeat;
}
#site_navi ul li a .sp_navi_icon06:before{
  background: url('../image/icon_navi_06.png');
  background-size: contain;
  background-repeat: no-repeat;
}
/*DeskTop*/
@media (min-width: 980px) {
  #site_navi ul li a span:before{
    display: none;
  }
}
/*#site_navi ul li a span { display: none; }*/

/* DeskTop */
@media (min-width: 980px) {
  #site_navi {
    position: relative;
    left: auto;
    top: auto;
    opacity: 1;
    transform: none;
    background: none;
    padding: 0;
    transition: inherit;
  }
  #site_navi .sp_navi {
    display: none;
  }
  
  /* g_navi */
  #site_navi .g_navi {
    display: table;
    display: flex;
    align-items: center;
    width: 100%;
  }
  #site_navi .g_navi li {
    /* display: table-cell; */
    vertical-align: middle;
    transform: none;
    opacity: 1;
  }
  #site_navi .g_navi li a {
    border: none;
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    transition: color .3s;
    padding: 10px 20px;
    position: relative;
  }
  #site_navi .g_navi li a:hover {
    color: #00238C;
  }
  #site_navi .g_navi li a::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background: #00238C;
    transition: .3s;
  }
  #site_navi .g_navi li a:hover::before {
    width: 100%;
  }

  #site_navi .g_navi .navi_06 a {
    color: #fff;
    border-radius: 35px;
    background: #00975B url(/image/icon/icon_super_arrow.svg) no-repeat right 12px center;
    padding: 12px 46px 12px 21px;
  }
  #site_navi .g_navi .navi_06 strong {
    font-size: 110%;
    font-weight: 900;
  }
  #site_navi .g_navi .navi_06 a:hover {
    background-color: #D7206E;
    color: #fff;
  }
  #site_navi .g_navi .navi_06 a::before { display: none; }
  
  #site_navi .g_navi .navi_sns{
    border-left: 1px solid #CCCCCC;
    margin-left: 20px;
    padding-left: 30px;
  }

  #site_navi .g_navi .navi_sns a{
    padding: 7px 10px;
  }
}

/* DeskTop */
@media (min-width: 1920px) {
  #site_navi .g_navi li a {
    font-size: 18px;
    padding: 10px 30px;
  }

  #site_navi .g_navi .navi_06 a {
    background-position: right 17px center;
    padding: 16px 52px 16px 24px;
  }
}

/* sitenavi_sp btn */
#site_navi_sp {
  z-index: 110;
  height: 48px;
  width: 48px;
}

/* DeskTop */
@media (min-width: 980px) {
  #site_navi_sp {
    display: none;
  }
}

	#panel-btn {
    color: #fff;
    display: block;
    height: 100%;
    position: relative;
    font-size: 12px;
    text-decoration: none;
    background: #00238C;
  }
	#panel-btn:hover{}

	#panel-btn-icon {
    display: block;
    position: absolute;
    top: 23px;
    right: 9px;
    width: 29px;
    height: 1px;
    background: #fff;
    transition: .2s;
    -webkit-transition: .2s;
  }
	#panel-btn-icon:before,
	#panel-btn-icon:after{
	  display: block;
	  content: "";
	  position: absolute;
	  top: 50%;
	  left: 0;
	  width: 100%;
	  height: 1px;
	  background: #fff;
	  transition: .3s;
	}
	#panel-btn-icon:before{
	  margin-top: -9px;
	}
	#panel-btn-icon:after{
	  margin-top: 7px;
	}
	
	/* close */
	#panel-btn.close{
	}
	.close #panel-btn-icon {
		top: 19px;
	  background: transparent;
	}
	.close #panel-btn-icon:before,
	.close #panel-btn-icon:after {
	  margin-top: 3px;
	}
	.close #panel-btn-icon:before{
	  transform: rotate(-35deg);
	  -webkit-transform: rotate(-35deg);
	}
	.close #panel-btn-icon:after{
	  transform: rotate(-145deg);
	  -webkit-transform: rotate(-145deg);
	}



/* important_news */
.important_news {
  overflow: hidden;
  background: #FFF5F5;
}
.important_news .inner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  display: flex;
  flex-direction: column;
}
.important_news .inner::before {
  content: "";
  position: absolute;
  left: -100%;
  width: 100%;
  height: 100%;
  background: #EA0000;
}
.important_news .ttl {
    color: #fff;
    font-size: 3.6vw;
    background: #EA0000 url(../image/icon/icon_caution.svg) no-repeat 10px center / 16px;
    padding: 9px 7px 7px 36px;
    font-weight: normal;
  display: flex;
  align-items: center;
}
.important_news .list {
  padding: 5px 10px;
  flex: 1;
}
.important_news .list li + li { margin-top: 10px; }
.important_news .list a {
  display: flex;
  gap:12px;
  align-items: center;
  text-decoration: none;
}
.important_news .list .date {
    color: #2C2C2C;
    font-size: 3vw;
}
.important_news .list .title {
  color: #EA0000;
  font-size: 4vw;
  font-weight: bold;
}
/* Tablet */
@media (min-width: 768px) {
  .important_news .inner {
    flex-direction: row;
  }
   .important_news .ttl {
        font-size: 1.8rem;
  }
  .important_news .list .date { font-size: 1.4rem; }
  .important_news .list .title { font-size: 1.6rem; }
}
/* DeskTop */
@media (min-width: 980px) {
      .important_news .ttl {
        background-size: auto;
        background-position: 0 center;
        padding: 13px 35px 13px 40px;
    }
  .important_news .list {
    padding: 10px 20px 8px;
  }
  .important_news .list .date { font-size: 1.6rem; }
  .important_news .list .title { font-size: 2rem; }
  .important_news .list a { gap: 20px; }
}


/*---------------------------------------------------------------------
	topic_path_top
---------------------------------------------------------------------*/
.topic_path_top {
}
.topic_path_top > ol {
  font-size: 13px;
  font-size: 1.3rem;
  box-sizing: content-box;
  margin: 0 auto;
  max-width: 1200px;
  padding: 10px;
}
.topic_path_top > ol > li {
  display: inline-block;
}
.topic_path_top > ol > li + li::before {
  content: ">";
  margin: 0 5px;
}
.topic_path_top > ol > li a {
  text-decoration: underline;
}

/* DeskTop */
@media (min-width: 980px) {
  .topic_path_top > ol {
    padding: 10px 100px;
  }
}

/*---------------------------------------------------------------------
	pagebody
---------------------------------------------------------------------*/
#pagebody {
  /*padding-top: 50px;*/
  min-height: 500px;
}
.pagebody_inner,
#pagebody_inner {
  padding: 0 15px;
  margin: 0 auto;
  max-width: 1200px;
  box-sizing: content-box;
}
.pagebody_inner_02 {
  padding: 0 15px;
  margin: 0 auto;
  max-width: 1000px;
  box-sizing: content-box;
}

/* DeskTop */
@media (min-width: 980px) {
  #pagebody {
    /*padding-top: 82px;*/
    min-height: 570px;
  }
  .pagebody_inner,
  #pagebody_inner {
    padding: 0 100px;
  }
  .pagebody_inner_02 {
    padding: 0 100px;
  }
}
/* DeskTop */
@media (min-width: 1920px) {
  /*#pagebody {
    padding-top: 113px;
  }*/
}


/*--------------------------------------------------
	alpha
--------------------------------------------------*/
#alpha {
  float: left;
  width: 780px;
  min-height: 600px; /* 作業時に削除 */
}

/*--------- text -----------*/
.page_ttl {
  background: url(../image/bg_02.jpg);
}
.page_ttl .ttl {
  font-size: 187.5%;
  font-weight: normal;
  line-height: 1.4;
  max-width: 1200px;
  margin: 0 auto;
  box-sizing: content-box;
  padding: 15px;
}

.content1 { line-height: 1.6; }
.content1 p { margin: 1em 0; }
.content1 h2 + p,
.content1 h3 + p,
.content1 h4 + p,
.content1 h5 + p,
.content1 h6 + p { margin-top: 0; }
.content1 div > p { margin-top: 0; }

/* headline */
.content1 * + h2 { margin-top: 35px; }
.content1 * + h3 { margin-top: 25px; }
.content1 * + h4 { margin-top: 20px; }
.content1 * + h5 { margin-top: 10px; }
.content1 h2 + h3,
.content1 h3 + h4 { margin-top: 0; }

/* utility */
.content1 * + dl,
.content1 * + ol,
.content1 * + ul,
.content1 * + table { margin-top: 10px; }

.lead_01,
.content1 h2 {
  font-size: 175%;
  font-weight: normal;
  border-bottom: 4px solid #BFC8E2;
  margin-bottom: 20px;
  padding-bottom: 6px;
  position: relative;
}
.lead_01::after,
.content1 h2::after {
  content: "";
  width: 320px;
  height: 4px;
  position: absolute;
  left: 0;
  bottom: -4px;
  background: url(/image/bg_header.jpg) no-repeat 0 0;
}

.lead_02,
.content1 h3 {
  color: #333;
  font-size: 162.5%;
  font-weight: normal;
  padding-bottom: 7px;
  margin-bottom: 20px;
  border-bottom: 1px solid #aaa;
}
.lead_03,
.content1 h4 {
  color: #333;
  font-size: 150%;
  font-weight: normal;
  padding-bottom: 6px;
  margin-bottom: 15px;
  border-bottom: 1px dotted #aaa;
}
.lead_04,
.content1 h5 {
  color: #333;
  font-size: 137.5%;
  font-weight: normal;
  position: relative;
  margin-bottom: 10px;
  padding-left: 20px;
}
.lead_04::before,
.content1 h5::before {
  background-color: #999;
  border-radius: 50%;
  content: "";
  width: 12px;
  height: 12px;
  position: absolute;
  top: 5px;
  left: 0;
}
.lead_04::after,
.content1 h5::after {
  background-color: #fff;
  border-radius: 50%;
  content: "";
  height: 4px;
  width: 4px;
  position: absolute;
  top: 9px;
  left: 4px;
}

.lead_05 {
  font-weight: normal;
  font-size: 112.5%;
  position: relative;
  text-align: center;
  margin-bottom: 18px;
  background: no-repeat center 10px;
}
.lead_05 span {
  color: #00218C;
  font-size: 166.66%;
}
.lead_05::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -8px;
  width: 30px;
  height: 3px;
  margin-left: -15px;
  background: #00238C;
}
.lead_05.icon_store { background-image: url(../image/icon_navi_04.png); padding-top: 34px; }
.lead_05.icon_super { background-image: url(../image/icon_navi_05.png); padding-top: 34px; }
.lead_05.icon_about { background-image: url(../image/icon_navi_02.png); padding-top: 34px; }
.lead_05.icon_company { background-image: url(../image/icon_navi_03.png); padding-top: 34px; }

.content1 .lead_06 {
  color: #333;
  font-size: 200%;
  font-weight: normal;
  padding-bottom: 7px;
  margin-bottom: 20px;
  border-bottom: 1px solid #aaa;
}

.lead_07 {
  font-size: 150%;
}

.lead_08 {
  margin: 30px 0 0;
  font-size: 150%;
}

.fc_01 { color: #D80000; }
.fc_02 { color: #008C8C; }
.fc_03 { color: #468C00; }
.fc_04 { color: #46008C; }
.fc_05 { color: #00238C; }

.font_roboto {
  font-family: 'Roboto Condensed', sans-serif;
}

.modified_date {
  color: #333;
  font-size: 86.66%;
  margin-bottom: 20px;
  text-align: right;
}

.list_image {
  background: #fafafa no-repeat 0 0;
  background-size: cover;
}
.list_image.about { background-image: url(/userfiles/images/about/list_image.jpg); }
.list_image .inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 10% 0;
  display: table;
  text-align: right;
}
.list_image .ttl {
    display: table-cell;
    vertical-align: middle;
    color: #fff;
    text-shadow: 3px 3px 3px rgba(0,0,0,.3);
}
.list_image .ttl p {
  margin: 0;
  padding: 5px 10px;
  display: inline-block;
  background: -moz-linear-gradient(left, rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 100%);
background: -webkit-linear-gradient(left, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%);
background: linear-gradient(to right, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=1 );
}
.list_image .ttl .en { font-size: 100%; margin-right: 5px; }
.list_image .ttl .ja { font-size: 120%; }

@media (min-width: 768px) {
  .content1 { line-height: 1.8; }
  
    /* headline */
  .content1 * + h2 { margin-top: 80px; }
  .content1 * + h3 { margin-top: 60px; }
  .content1 * + h4 { margin-top: 40px; }
  .content1 * + h5 { margin-top: 20px; }
  .content1 h2 + h3,
  .content1 h3 + h4 { margin-top: 0; }

  /* utility */
  .content1 * + dl,
  .content1 * + ol,
  .content1 * + ul,
  .content1 * + table { margin-top: 20px; }
  
  .lead_01,
  .content1 h2 {
    margin-bottom: 35px;
  }
  
  .content1 .lead_06 {
    font-size: 230%;
  }
  .lead_07 {
    line-height: 1.6;
    font-size: 230%;
  }
  
  .lead_08 {
    font-size: 212.5%;
  }


  
  .list_image .ttl .en { font-size: 112.5%; }
  .list_image .ttl .ja { font-size: 175%; }
  
}

/* DeskTop */
@media (min-width: 980px) {
  .page_ttl .ttl {
    padding: 24px 100px;
  }
}

/*--------- btn -----------*/
a.btn_01 {
  display: inline-block;
  vertical-align: top;
  color: #333;
  text-decoration: none;
  font-size: 100%;
  border: 1px solid #ccc;
  min-width: 50%;
  padding: 10px 30px 10px 20px;
  position: relative;
  transition: .3s;
  background: #fff;
}
a.btn_01::before {
  content: "";
  width: 6px;
  height: 6px;
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -4px;
  border-right: 1px solid #00238C;
  border-bottom: 1px solid #00238C;
  transform: rotate(-45deg);
  transition: .3s;
}
a.btn_01.arrow_l::before {
  right: auto;
  left: 23px;
  transform: rotate(135deg);
}
a.btn_01:hover {
  color: #fff;
  background: #00208C;
}
a.btn_01:hover::before {
  border-right-color: #fff;
  border-bottom-color: #fff;
}

a.btn_02 {
  color: #fff;
  text-align: center;
  display: inline-block;
  text-decoration: none;
  border: 1px solid #bbb;
  background: #00975B;
  width: 80%;
  max-width: 270px;
  padding: 10px;
  position: relative;
  transition: .3s;
}
a.btn_02:hover {
  color: #000;
  background-color: #EEEE00;
}
a.btn_02::after {
    content: "";
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -5px;
    border: 5px solid transparent;
    border-left: 6px solid #fff;
  transition: .3s;
}
a.btn_02:hover::after {
  border-left-color: #000;
}

a.btn_03 {
  color: #000;
  text-align: center;
  display: inline-block;
  text-decoration: none;
  border: 1px solid #bbb;
  background: #fff;
  width: 80%;
  max-width: 270px;
  position: relative;
  padding: 10px;
  transition: .3s;
}
a.btn_03:hover {
  color: #fff;
  background: #26449D;
}
a.btn_03::after {
  content: "";
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -5px;
    border: 5px solid transparent;
    border-left: 6px solid #26449D;
  transition: .3s;
}
a.btn_03:hover::after {
  border-left-color: #fff;
}


/* DeskTop */
@media (min-width: 980px) {
  a.btn_01 {
    min-width: 30%;
    padding: 16px 30px 16px 20px;
  }
  a.btn_01::before {
    right: 15px;
  }
}

/*--------- template -----------*/
/* Tablet */
.fll_img,
.flr_img {
  margin: 0 0 15px;
}
.fll_img_sp {
  float: left;
  margin: 0 10px 10px 0;
}
.flr_img_sp {
  float: right;
  margin: 0 0 10px 10px;
}
@media (min-width: 768px) {
  .fll_img_sp,
  .flr_img_sp {
    float: none;
    margin: 0;
  }
  .fll_img {
    float: left;
    margin: 0 2.5% 2.5% 0;
  }
  .flr_img {
    float: right;
    margin: 0 0 2.5% 2.5%;
  }
  
  .fll_img img,
  .fll_img img {
    max-width: 100%;
    height: auto;
  }
}

.fl_over {
  overflow: hidden;
}
.caption,
.list_1column .caption,
.list_2column .caption,
.list_3column .caption,
.list_4column .caption,
.list_5column .caption {
  font-size: 86.66%;
  line-height: 1.4;
  padding-top: 7px;
  text-align: center;
  margin: 0;
}

.list_1column .item,
.list_2column .item,
.list_3column .item,
.list_4column .item,
.list_5column .item {
  margin-bottom: 15px;
}

/* Tablet */
@media (min-width: 768px) {
  .list_1column img,
  .list_2column img,
  .list_3column img,
  .list_4column img,
  .list_5column img {
    width: 100%;
    height: auto;
  }

  /* list_2column */
  .list_2column {
    font-size: 0;
  }
  .list_2column .item {
    width: 48.33%;
    font-size: 16px;
    display: inline-block;
    vertical-align: top;
    margin: 0 3.33% 3.33% 0;
  }
  .list_2column .item:nth-child(2n) {
    margin-right: 0;
  }

  /* list_3column */
  .list_3column {
    font-size: 0;
  }
  .list_3column .item {
    width: 31.08%;
    font-size: 16px;
    display: inline-block;
    vertical-align: top;
    margin: 0 3.33% 3.33% 0;
  }
  .list_3column .item:nth-child(3n) {
    margin-right: 0;
  }

  /* list_4column */
  .list_4column {
    font-size: 0;
  }
  .list_4column .item {
    width: 22.5%;
    font-size: 16px;
    display: inline-block;
    vertical-align: top;
    margin: 0 3.33% 3.33% 0;
  }
  .list_4column .item:nth-child(4n) {
    margin-right: 0;
  }

  /* list_5column */
  .list_5column {
    font-size: 0;
  }
  .list_5column .item {
    width: 17.33%;
    font-size: 16px;
    display: inline-block;
    vertical-align: top;
    margin: 0 3.33% 3.33% 0;
  }
  .list_5column .item:nth-child(5n) {
    margin-right: 0;
  }
}


/*--------- list_index -----------*/
* + #list_index { margin-top: 60px; }
#list_index {
  margin: 30px auto;
  /* text-align: center; */
}
#list_index .item {
  margin-bottom: 15px;
	border: 1px solid #bbb;
	text-align: left;
}

#list_index .item a {
	color: #000;
	text-decoration: none;
	display: block;
}
#list_index .item a:hover {}
#list_index .item .thumb {
	padding: 15px;
	border-bottom: 1px solid #bbb;
}
#list_index .item .thumb span {
	display: block;
	position: relative;
	padding-bottom: 73.68%;
	overflow: hidden;
	background-color: #fafafa;
}
#list_index .item .thumb img {
	position: absolute;
    top: -100%;
    left: -100%;
    right: -100%;
    bottom: -100%;
    margin: auto;
    max-width: none;
    max-height: 100%;
	transition: .5s;
}
#list_index .item a:hover .thumb img {
	opacity: 1;
    transform: scale(1.08);
	-webkit-transform: scale(1.08);
}
#list_index .item .detail {
	padding: 15px;
	position: relative;
}
#list_index .item .ttl {
    font-size: 143%;
    color: #333333;
    font-weight: normal;
    background: url(../image/icon_arrow_01.gif) no-repeat 0 4px;
    padding-left: 33px;
    padding: 5px 0 5px 33px;
}
#list_index .item .lead {
    font-size: 14px;
    color: #333333;
    background: #F2F2F2;
    padding: 10px;
	margin-top: 15px;
}
.list_index_contents > ul { margin-top: 10px; }
.list_index_contents > ul li {
	margin-left: 30px;
	list-style: disc outside;
}


/* Tablet */
@media (min-width: 768px) {
  #list_index { font-size: 0; }
  #list_index .item {
    font-size: 18px;
    display: inline-block;
    vertical-align: top;
    width: 31.08%;
    margin: 0 3.33% 3.33% 0;
  }
  #list_index .item:nth-child(3n) { margin-right: 0; }
	#list_index .item .ttl { font-size: 100%; background-position: 0 6px; }
}

/*----- hierarchy_link ------*/
.hierarchy_link {}
.hierarchy_link .line {
  margin: 100px auto 60px;
}
.hierarchy_link .ttl {
  font-weight: normal;
    text-align: center;
    font-size: 137.5%;
    background: url(../image/icon_navi_02.png) no-repeat center 0;
    padding-top: 36px;
    margin-bottom: 10px;
}
.hierarchy_link .ttl a {
  text-decoration: none;
  color: #000;
}
.hierarchy_link .inner {
  background: #F2F2F2;
  padding: 20px;
}
.hierarchy_link .inner li + li {
  margin-top: 10px;
}
.hierarchy_link .inner a {
  display: block;
  width: 100%;
  max-width: none;
}

/* Tablet */
@media (min-width: 768px) {
  .hierarchy_link .inner {
    text-align: center;
  }
  .hierarchy_link .inner li + li {
    margin-top: 0;
  }
  .hierarchy_link .inner li {
    display: inline-block;
    vertical-align: top;
    width: 270px;
    margin: 0 5px 10px;
  }
}

/*--------------------------------------------------
	about
--------------------------------------------------*/
/*----- guidelines -----*/
.l_guidelines {
  overflow: hidden;
}
.l_guidelines li + li {
  margin-top: 30px;
}
.l_guidelines p {
  margin: 0;
}
.l_guidelines .ttl {}
.l_guidelines .number {
  font-size: 250%;
  text-decoration: underline;
  margin-right: 25px;
}
.l_guidelines .ttl_ja {
  font-size: 225%;
  margin-right: 20px;
}
.l_guidelines .ttl_en {
  font-size: 93.75%;
}
.l_guidelines .lead {
  font-size: 135.5%;
  margin-bottom: 5px;
}

.l_guidelines .item_01 .number,
.l_guidelines .item_01 .ttl_en,
.l_guidelines .item_01 .lead { color: #24469A; }

.l_guidelines .item_02 .number,
.l_guidelines .item_02 .ttl_en,
.l_guidelines .item_02 .lead { color: #46008C; }

.l_guidelines .item_03 .number,
.l_guidelines .item_03 .ttl_en,
.l_guidelines .item_03 .lead { color: #008C8C; }

/* Tablet */
@media (min-width: 768px) {
  .l_guidelines {
    padding-left: 10px;
  }
  .l_guidelines li + li {
    margin-top: 60px;
  }
}


/*----- business -----*/
.bg_box_01 {
  background: #EAF4F6 url(../image/bg_07.jpg);
  padding: 15px 0;
}
.bg_box_02 {
  border: 3px solid #00975B;
  padding: 10px 15px;
  background: #FFF5F5;
}
.bg_box_02 .thumb {
  text-align: center;
  margin-bottom: 15px;
}
.bg_lead_01 {
  overflow: hidden;
  position: relative;
}
.bg_lead_01::before {
  content: "";
  width: 100%;
  position: absolute;
  right: -60px;
  bottom: 10px;
  background: #FFF8E2;
  height: 40%;
  transform: skew(-10deg);
}
.bg_lead_01 .inner {
  position: relative;
}
.bg_lead_01 .lead_07 br {
  display: none;
}
.l_cade_01 {}
.l_cade_01 dl {
  margin: 0;
}
.l_cade_01 dt {
  color: #fff;
  font-size: 137.5%;
  position: relative;
  background: #4C65AE;
  padding: 10px 10px 10px 30px;
}
.l_cade_01 dt::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 21%;
  width: 3px;
  height: 53%;
  background: #BFC8E2;
}
.l_cade_01 dt strong {
  font-weight: normal;
}
.l_cade_01 dd {
  padding: 20px 15px;
  background: #ECEFF7;
}
/*.product_list td {
  background: #FFFFF5;
}*/

/* Tablet */
@media (min-width: 768px) {
  .bg_box_01 {
    padding: 40px 0;
  }
  .bg_box_02 {
    display: flex;
    padding: 15px;
    gap:15px;
  }
  .bg_box_02 .thumb { margin: 0; }
  .bg_box_02 .detail { flex: 1; }
  .bg_lead_01 {
    margin-bottom: 30px;
  }
  .bg_lead_01::before {
    width: 570px;
    height: 200px;
    transform: skew(-13deg);
    bottom: 30px;
  }
  .bg_lead_01 .lead_07 br {
    display: block;
  }
  .l_cade_01 dt {
    min-height: 90px;
    line-height: 1.6;
    vertical-align: middle;
    padding-left: 40px;
    display: table;
    width: 100%;
  }
  .l_cade_01 dt::before {
    left: 15px;
  }
  .l_cade_01 dt strong {
    display: table-cell;
    vertical-align: middle;
  }
  /*.product_list {
    text-align: center;
    table-layout: fixed;
  }*/
}

/*----- greetings -----*/
.greetings_lead { margin: 20px 0; }
.greetings_lead_inner {
    font-size: 120%;
    position: relative;
    font-weight: bold;
    padding: 20px;
    display: inline-block;
    max-width: 743px;
}
.greetings_lead_inner::before,
.greetings_lead_inner::after {
  content: "";
  width: 30px;
  height: 30px;
  position: absolute;
  border-top: 3px solid #00228C;
  border-left: 3px solid #00228C;
}
.greetings_lead_inner::before {
  top: 0;
  left: 0;
}
.greetings_lead_inner::after {
  right: 0;
  bottom: 0;
  transform: rotate(180deg);
}

.greetings_text {
  padding: 15px;
  background: url(../image/bg_08.jpg);
}
.greetings_text .thumb {
    float: right;
    width: 30%;
    margin-top: -10%;
    margin-left: 20px;
}
.greetings_text .detail {}
.greetings_sing {
    text-align: right;
    max-width: 1000px;
    margin: 0 auto !important;
}
.greetings_sing img {
  width: 35%;
  max-width: 195px;
}
/* Tablet */
@media (min-width: 768px) {
  .greetings_lead_inner {
    font-size: 212.5%;
    font-weight: normal;
    padding: 30px 45px;
    line-height: 1.5;
  }
  .greetings_lead_inner::before,
  .greetings_lead_inner::after {
    width: 40px;
    height: 40px;
    border-width: 5px;
  }
  .greetings_text {
    padding: 40px 100px;
    margin-bottom: 20px;
  }
  .greetings_text .thumb {
    margin-left: 70px;
    margin-top: -35%;
  }
}

/*--------------------------------------------------
                  中林作成 会社案内ページ
--------------------------------------------------*/

/*---経営理念---*/
.philosophy{
  margin-top: 60px;
  position: relative;
}
.philosophy_ttl{
  width: 60.6%;
  position: absolute;
  top: -30px;
  margin-left: 19.7%;
  background-color: #24479C;
  text-align: center;
  color: #ffffff;
  border-radius: 50px 50px 50px 50px/50px 50px 50px 50px;
  line-height: 1;
}
.philosophy_ttl .ttl01{
  font-size: 20px;
  padding: 10px 0 0 0;
}
.philosophy_ttl .ttl02{
  margin-top: -30px;
  padding: 15px 0 0 0;
}
.description{
  background-image: url(../image/philosophy/bg_01.jpg);
  padding: 50px 3% 20px 3%;
  font-size: 16px;
  clear: both;
}
.description .text{
  font-size: 12.5px;
  margin-left: 21.2%;
}
.philosophy_img{
  float: left;
  width: 59px;
}

/*---会社概要---*/
.profile_ttl{
  margin-top: 40px;
  margin-bottom: 0;
}
.profile_table th{
  width: 29%;
}

/*---沿革---*/
.history .history_ttl{
  margin-top: 40px;
  margin-bottom: 0;
}
.history_contents .history_while{
  /*margin: 0 0 15px 32px;*/
  margin: 15px 0 15px 0;
  line-height: 0;
  padding: 0;
}
.history_contents .item{
  border-bottom: dotted #aaa 1px;
  display: table;
  width: 100%;
  padding: 20px 0;
}
.history_contents .item_first{
  border-top: dotted #aaa 1px;
  margin-top: 40px;
}
.year .christian_era{
  color: #00238C;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 0;
}
.history_contents .japanese_year{
  margin-bottom: 0;
}
.history_contents .history_list{
  margin: 0;
  margin-top: 10px;
}
.history_text{
  width: 55.7%;
  display: table-cell;
}
.no_img{/*imgがないhistory_text*/
  width: auto;
}
.history_img{
  width: 46.6%;
  text-align: right;
  display: table-cell;
}
.history_text,.history_img{
  vertical-align: middle;
}
.history_img1953{
  width: 59.6%;
}
.history_img1957_9{
  width: 59.6%;
}
.history_img1957_12{
  width: 59.6%;
  margin: 10px 0;
}
.history_img1958{
  width: 59.6%;
}
.history_img1989{
  width: 59.6%;
}
.history_img2002{
  width: 59.6%;
}
.history_img2003{
  width: 59.6%;
}
.history_img2004{
  width: 59.6%;
}
.history_img2005{
  width: 59.6%;
}
.history_img2006{
  width: 59.6%;
}
.history_img2007{
  width: 59.6%;
}
.history_img2010{
  width: 59.6%;
}
.history_img2017{
  width: 59.6%;
}




@media screen and (min-width:768px) and ( max-width:980px) {
    /*画面サイズが768pxから980pxまではここを読み込む(タブレット)*/
  .description{
    padding: 50px 3% 20px 3%;
  }
  .description .text{
    font-size: 20px;
    margin-bottom: 0;
  }
  .description .philosophy_img{
    margin-left: 3%;
  }
  .philosophy_img{
    width: 69px;
  }
  .history_text .christian_era{
    font-size: 30px;
    line-height: 1;
  }
  .history_text .japanese_year{
    font-size: 20px;
  }
  .history_text .history_list{
    margin-top: 0;
  }
  .history_text .japanese_year,.history_text .history_list{
    margin-left: 20px;
  }
  .history .item{
    padding: 20px 0;
    width: 83.3%;
    margin-left: 8.3%;
  }
  .history .history_img{
    text-align: right;
  }
}


@media (min-width: 980px){/*画面幅980px以上のcss(PC)*/
  .philosophy{
    margin-top: 90px;
  }
  .philosophy_img {
    width: 149px;
  }
  .philosophy_ttl{
    top: -40px;
    width: 320px;
    margin-left: 36.6%;
  }
  .philosophy_ttl .ttl01{
    font-size: 28px;
    padding: 10px 0 0 0;
  }
  .philosophy_ttl .ttl02{
    font-size: 15px;
    margin-top: -23px;
    padding: 0px;
  }
  .philosophy_img{
    width: 165px;
    margin-top: 43px;
    margin-left: 15px;
  }
  .philosophy .description{
    padding: 0;
  }
  .philosophy .text{
    font-size: 36px;
    margin-left: 200px;
    margin-bottom: 0;
    padding-top: 80px;
    padding-bottom: 6.7%;
  }
  .content1 .profile_ttl{
    margin-top: 60px;
  }
  .profile_table{
    width: 83.3%;
    margin-left: 8.3%;
  }
  .profile_table th{
    width: 17.9%;
    font-weight: normal;
  }
  .history .history_ttl{
    margin-top: 80px;
  }
  .history .no_img{
    padding-bottom: 20px;
  }
  .history_contents .item{
    width: 83.3%;
    margin-left: 8.3%;
  }
  .history_text .christian_era{
    line-height: 1;
  }
  .history_contents .history_text{
    vertical-align: top;
  }
  .year .christian_era{
  font-size: 46px;
}
  .history_contents .japanese_year{
    font-size: 20px;
  }
  .history .japanese_year,.history .history_list{
    margin-left: 30px;
  }
  .history_img{
    text-align: right;
  }
  .history_img1953{
    width: 45.5%;
  }
  .history_img1957_9{
    width: 45.5%;
    margin: 20px 0;
  }
  .history_img1957_12{
    width: 45.5%;
    margin: 20px 0;
  }
  .history_img1958{
    width: 45.5%;
  }
  .history_img1989{
    width: 45.5%;
  }
  .history_img2002{
    width: 45.5%;
    margin: 20px 0;
  }
  .history_img2003{
    width: 45.5%;
  }
  .history_img2004{
    width: 45.5%;
    margin: 20px 0;
  }
  .history_img2005{
    width: 45.5%;
    margin: 20px 0;
  }
  .history_img2006{
    width: 45.5%;
    margin: 20px 0;
  }
  .history_img2007{
    width: 45.5%;
    margin: 20px 0;
  }
  .history_img2010{
    width: 45.5%;
    margin: 20px 0;
  }
  .history_img2017{
    width: 45.5%;
  }
  .history .padding_b20{
    padding-bottom: 20px;
  }
}

/*-----------------------------------
           業務案内 中林修正
-----------------------------------*/
  .fsr_22{
    font-size: 22px;
  }
  /*取扱商品一覧のリスト*/
  .product{
    margin-top: 30px;
  }
  .product .product_list{
    background-color: #E8ECF4;
    width: 100%;
    padding: 15px 0 15px 4.55%;
  }
  .product .item {
    display: inline-block;
    width: 49%;
    vertical-align: top;
  }
.product .mgnt_-23{
  margin-top: -23px;
}
  .item_list li::before {
    content: '\2022';
    color: #25489C;
    font-size: 1.5em;
    padding: 0 8px 0 0;
    line-height: 1.2;
  }
  .item_list .li_black{
    padding-left: 13.1%;
  }
  .item_list .li_black:before{
    content: '\2022';
    color: #000;
    font-size: 0.7em;
    padding: 0 8px 0 0;
  }


@media (min-width: 980px){/*画面幅980px以上のcss(PC)*/
  .product .product_list{
    display: table;
    padding: 10px 0 10px 40px;
  }
  .product .item {
    display: table-cell;
    width: 20%;
  }
  .product .mgnt_-23{
    margin-top: 0;
}
}

/*--------------------------------------------------
	super
--------------------------------------------------*/
.super_list {}
.super_list .item {
    border: 1px solid #bbb;
    padding: 2.3%;
    margin: 0 0 15px;
}
.super_list .thumb img {
    width: 100%;
}
.super_list .detail {
  padding: 10px;
}
.super_list .ttl {
    border-bottom: 1px dashed #bbb;
    font-size: 150%;
    padding: 0 0 5px;
    margin: 0 0 10px;
}
.super_list .btn_03 {
  display: block;
  width: 100%;
  max-width: none;
}
.line {
    background: url(../image/line_01.png) no-repeat center center;
    position: relative;
    margin: 40px auto;
}
.line::before {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  top: 50%;
  background: #BAC3E0;
}

/* Tablet */
@media (min-width: 768px) {
	.super_list {
		font-size: 0;
	}
	.super_list .item {
		font-size: 16px;
		width: 31.4%;
		margin: 0 2.83% 3.33% 0;
		display: inline-block;
		vertical-align: top;
		padding: 0;
	}
  .super_list .item:nth-child(3n) {
    margin-right: 0;
  }
}
@media (min-width: 1280px) {
  .super_list .item,
  .super_list .item:nth-child(3n) {
    width: 22.5%;
    margin: 0 3.33% 3.33% 0;
  }
  .super_list .item:nth-child(4n) {
    margin-right: 0;
  }
}
/*--------------------------------------------------
	access
--------------------------------------------------*/
.g_map {
  margin-bottom: 40px;
}
.g_map iframe {
  width: 100%;
  height: 250px;
}
.access_list {
  border: none;
  border-top: 1px solid #bbb;
}
.access_list tr {
  border-bottom: 1px solid #bbb;
}
.access_list th {
  border: none;
  background: none;
  text-align: left;
  font-weight: normal;
  width: 100px;
  padding: 13px 10px;
}
.access_list td {
  border: none;
  padding: 13px 10px;
}

/* Tablet */
@media (min-width: 768px) {
  .g_map {
    margin-bottom: 110px;
  }
  .g_map iframe {
    height: 650px;
  }
}

/*---------------------------------------------------------------------
	js-inview
---------------------------------------------------------------------*/
.fade_in {
	opacity: 0;
	position: relative;
	top: 1%;
}
#pagebody .js_slide_up {
    opacity: 0;
    position: relative;
    top: 50px;
}
#pagebody .js_slide_down {
    opacity: 0;
    position: relative;
    top: -50px;
}
#pagebody .js_slide_left {
    opacity: 0;
    position: relative;
    left: -50px;
}
#pagebody .js_slide_right {
    opacity: 0;
    position: relative;
    right: -50px;
}

/*--------------------------------------------------
	list_topics
--------------------------------------------------*/
.list_topics dl {
  margin-bottom: 10px;
}
.list_topics dl a {
  display: block;
  background: #fff;
  border: 1px solid #ccc;
  padding: 10px 30px 10px 10px;
  border-radius: 6px;
  text-decoration: none;
  color: #000;
  position: relative;
  background: #fff url("../image/icon/icon_arrow_blue.svg") no-repeat right 10px center;
}
.list_topics dt { color: #575757; }
.list_topics dd {}

/* DeskTop */
@media (min-width: 980px) {
  .list_topics dl {}
  .list_topics dl a {
    padding: 20px 40px 20px 20px;
    background-size: 16px;
    background-position: right 15px center;
    transition: background .3s, border .3s;
  }
  .list_topics dl a:hover {
    background-color: #ffffeb;
    border-color: #00238C;
  }
  .list_topics dt {
    display: inline-block;
    vertical-align: middle;
    width: 13%;
  }
  .list_topics dd {
    display: inline-block;
    vertical-align: middle;
    font-size: 1.8rem
  }
}

/* .pager */
.pager {
  margin: 60px 0;
  padding: 50px 0;
  text-align: center;
  background: #FCF8ED;
}
.pager ul {
}
.pager ul li {
  font-size: 81.25%;
  margin: 3px;
  display: inline-block;
}
.pager a,
.pager span {
  color: #000;
  display: block;
  text-decoration: none;
  border: 1px solid #CCC;
  padding: 9px 16px;
  background-color: #fff;
}
.pager li.total span {
  border-color: #FFF;
}
.pager li.prev span,
.pager li.next span,
.pager li.first span,
.pager li.last span {
  border: 1px solid #ccc;
  color: #EDEDED;
}
.pager li.current span {
  color: #fff;
  background: #915E33;
}
.pager a:hover {
  color: #915E33;
  border: 1px solid #999;
  background: #EEEAD9;
}

/* link_prev_next */
.link_prev_next {
  text-align: center;
  margin-top: 40px;
}
.link_prev_next > li {
  display: inline-block;
}
.link_prev_next > li a {
  color: #915E33;
  border: 1px solid #bbb;
  display: block;
  padding: 12px 40px;
  text-decoration: none;
  transition: .3s;
  border-radius: 3px;
  font-size: 90%;
  font-weight: bold;
}
.link_prev_next > li a:hover {
  color: #fff;
  background-color: #915E33;
}

/*---------------------------------------------------
	beta
---------------------------------------------------*/
#beta {
  float: right;
  width: 200px;
  min-height: 300px; /* 作業時に削除 */
}

/*---------------------------------------------------
	sidemenu
---------------------------------------------------*/
#side_menu {
  background-color: #fff;
  border: 1px solid #ccc;
  margin-bottom: 20px;
}
#side_menu .ttl {
  color: #fff;
  font-size: 100%;
  font-weight: normal;
  padding: 10px;
  background-color: #8A8A8A;
}
#side_menu a {
  display: block;
  padding: 5px;
  text-decoration: none;
}
#side_menu a:hover {
  text-decoration: underline;
}
#side_menu .level0 > a {
}
#side_menu .level1 > a {
}
#side_menu .level2 > a {
}
#side_menu .level3 > a {
}
#side_menu li + li, #side_menu li > ul {
  border-top: 1px dashed #ccc;
}

/*--------- beta -----------*/
.list_side_menu {
  margin-bottom: 1em;
  border: 1px solid #CCCCCC;
}
.list_side_menu .ttl {
  font-size: 90%;
  font-weight: normal;
  padding: 10px;
  position: relative;
  background-color: #ddd;
}
.list_side_menu a {
  color: #000;
  display: block;
}
.list_side_menu .ttl span {
  font-size: 12px;
  font-weight: normal;
  position: absolute;
  top: 12px;
  right: 10px;
}
.list_side_menu .type_01 {
  background-color: #fff;
}
.list_side_menu .type_01 dt {
  border-top: 1px solid #ccc;
  font-size: 12px;
  line-height: 1.2;
  padding: 7px 20px 0;
}
.list_side_menu .type_01 dt:first-child {
  border-top: none;
}
.list_side_menu .type_01 dd {
  margin: 0 10px;
  padding: 0 0 5px 12px;
  background-size: 6px;
  font-size: 13px;
}
.list_side_menu .type_02 {
  background-color: #fff;
}
.list_side_menu .type_02 > li {
  padding: 2px 10px;
  font-size: 13px;
  border-top: 1px solid #ccc;
}
.list_side_menu .type_02 > li:first-child {
  border-top: none;
}
.list_side_menu .type_02 > li > ul {
  display: none;
}
.list_side_menu .type_02 > li > ul > li {
  background-size: 6px;
  padding-left: 12px;
}
.list_side_menu .type_03 {
  padding: 10px;
  background-color: #fff;
}
.list_side_menu .type_03 > li {
  background-size: 6px;
  padding-left: 12px;
  font-size: 13px;
}

/*---------------------------------------------------------------------
	faq
---------------------------------------------------------------------*/
.list_faq {
}
.list_faq .item {
  margin-bottom: 20px;
}
.list_faq .btn_q {
}
.list_faq .btn_q a {
  background-color: #d3e3f3;
  color: #1f3f99;
  display: block;
  font-size: 1.7rem;
  font-weight: normal;
  padding: 10px 10px 10px 41px;
  position: relative;
  text-decoration: none;
}
.list_faq .btn_q a::before {
  color: #1f3f99;
  content: "Q";
  display: inline-block;
  font-size: 28px;
  font-size: 2.8rem;
  position: absolute;
  top: 2px;
  left: 10px;
}
.list_faq .box_a {
  display: none;
  border: 1px solid #d3e3f3;
  padding: 15px 15px 15px 40px;
  position: relative;
}
.list_faq .box_a::before {
  color: #ff8000;
  content: "A";
  display: inline-block;
  font-size: 24px;
  font-size: 2.4rem;
  position: absolute;
  top: 5px;
  left: 11px;
}
.faq_contents {
}
.faq_contents .icon_q {
}
.faq_contents .icon_a {
}

/*---------------------------------------------------------------------
	contact
---------------------------------------------------------------------*/
.mail_form {
  border: 8px solid #d6f0fb;
  margin: 0 auto;
  padding: 22px;
}
.mail_form form {
  margin: 0 auto;
}
.mail_form form dl {
  display: table;
  width: 100%;
  margin-bottom: 30px;
  padding: 0 20px;
}
.mail_form form dt {
  width: 30%;
  display: table-cell;
  vertical-align: top;
  font-size: 93.75%;
  padding-right: 10px;
  padding-top: 12px;
}
.mail_form form dd {
  display: table-cell;
  vertical-align: top;
}
.mail_form form .bg_on {
  background-color: #ececec;
  padding: 12px;
}
.mail_form form .bg_on label {
  /*width: 20%;*/
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
}
.mail_form form .border_on {
  border: 1px solid #CCCCCC;
  padding: 12px;
}
.mail_form.confirm_list dd {
  background-color: #E5F6FB;
  padding: 12px;
  word-break: break-all;
}
.mail_form .btn_list {
  text-align: center;
  margin: 20px auto;
}
.mail_form .icon_required::before {
    content: "必須";
    color: #fff;
    background: #e20000;
    font-size: 80%;
    border-radius: 3px;
    padding: 2px 9px;
    margin-right: 10px;
}
.icon_required_p {
  color: #fff;
  background: #e20000;
  font-size: 80%;
  border-radius: 3px;
  padding: 2px 9px;
  margin-right: 10px;
}
.mail_form .error {
  color: #d71618;
  font-size: 13px;
}
.form_errors {
    color: #d80000;
    border: 5px solid #e69898;
    text-align: left;
    padding: 20px;
    background: #fafafa;
    margin-bottom: 20px;
}
.mail_form.type_02 form {
  max-width: none;
}
.mail_form.type_02 form dl {
  max-width: 870px;
}
.mail_form.type_02 form dl dt {
  width: 35%;
}
.mail_form input,
.mail_form button,
.mail_form textarea,
.mail_form select {
  margin: 0;
  font-size: 16px;
  padding: 12px;
}
.mail_form input:-ms-input-placeholder {
 color: #808080;
}
.mail_form select,
.mail_form textarea,
.mail_form input[type="tel"],
.mail_form input[type="text"],
.mail_form input[type="email"],
.mail_form input[type="password"]{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border-radius: 0;
  outline: none;
  width: 100%;
  background-color: #ececec;
}
.mail_form input.small {
  width: 27%;
}
.mail_form input[type="file"] {
  font-size: 16px;
}
.mail_form input[type="radio"] {
  margin-right: 5px;
  padding: 5px;
}
.mail_form input[type="checkbox"] {
  margin-right: 5px;
  padding: 5px;
}
.mail_form select {
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  appearance: menulist;
  background-color: #ececec;
  position: relative;
}
.mail_form .twin {
  font-size: 0;
}
.mail_form .twin input + input {
  margin-left: 3.44%;
}
.mail_form .twin input {
  width: 48.26%;
  display: inline-block;
}
.mail_form textarea {
  width: 100%;
  height: 150px;
  background-color: #ececec;
}
.mail_form input[type="text"]:focus,
.mail_form input[type="email"]:focus,
.mail_form textarea:focus {
  box-shadow: 0 0 7px #008CD6;
}
.btm_text {
  /*width: 69%;
  margin-left: auto;*/
  text-align: center;
}
.mail_form input[type="submit"] {
  color: #fff;
  padding: 1em 5em;
  background-color: #358FDD;
  border: none;
  border-radius: 0;
}
.mail_form input[type="submit"]:hover {
  background-color: #055FAD;
}
.mail_form input[type="reset"],
.mail_form input.back {
  color: #fff;
  padding: 0.6em 1em;
  background-color: #b5b5b5;
  border: none;
  border-radius: 0;
}
.mail_form input[type="reset"]:hover,
.mail_form input.back:hover {
  background-color: #555;
}
.mail_form .btn_backhome {
  color: #fff;
  padding: 0.6em 1em;
  background-color: #358FDD;
  text-decoration: none;
  border: none;
  border-radius: 0;
  display: inline-block;
}
.mail_form .btn_backhome:hover {
  color: #fff;
  padding: 0.6em 1em;
  background-color: #b5b5b5;
}
.form_message {
  background-color: #ffffbb;
  border: 2px solid #df0000;
  color: #df0000;
  font-size: 120%;
  font-weight: bold;
  margin: 10px auto;
  padding: 10px 15px;
}

@media print, screen and (max-width: 768px) {
  .mail_form {
    padding: 12px;
    border-width: 4px;
  }
  .mail_form form dl {
    padding: 0 10px;
    margin-bottom: 15px;
  }
  .mail_form form dt {
    display: block;
    width: auto;
    text-align: left;
    margin: 0 0 10px;
    padding: 0;
  }
  .mail_form form dd {
    display: block;
    width: auto;
  }
  .mail_form input,
  .mail_form button,
  .mail_form textarea,
  .mail_form select {
    padding: 10px;
  }
  .mail_form input.small {
    width: 50%;
  }
  .mail_form input[type="submit"] {
    padding: 1em;
  }
  .btm_text {
    width: auto;
    text-align: center;
  }
}

/*---------------------------------------------------------------------
	sitemap
---------------------------------------------------------------------*/
.list_sitemap {}
.list_sitemap a:hover {
  opacity: .8;
}

.list_sitemap .level01 {
  font-size: 100%;
  font-weight: normal;
  margin-bottom: 15px;
}
.list_sitemap * + .level01 {
  margin-top: 40px;
}
.list_sitemap .level01 > a {
    display: block;
    text-decoration: none;
    color: #133775;
    font-size: 160%;
    padding: 12px 12px 12px 32px;
    position: relative;
    background: url(../image/icon/icon_arrow_blue.svg) no-repeat 0 21px/20px;
    border-bottom: 1px dotted #00238C;
}
.list_sitemap .level02 {}
.list_sitemap .level02 >li + li{ margin-top: 15px; }
.list_sitemap .level02 >li > a {
    border: 1px solid #ccc;
    display: block;
    text-decoration: none;
    padding: 12px;
    border-radius: 3px;
    color: #133775;
    background: #fafafa;
    position: relative;
}
.list_sitemap .level02 >li > a::before {
    content: "";
    position: absolute;
    right: 9px;
    top: 50%;
    margin-top: -6px;
    border: 4px solid transparent;
    border-left: 6px solid #133775;
}

.list_sitemap .level03,
.list_sitemap .level04,
.list_sitemap .level05 {
  color: #359ed8;
  margin-top: 10px;
  list-style-type: disc;
  list-style-position: outside;
  margin-left: 36px;
}
.list_sitemap .level04,
.list_sitemap .level05 {
  margin-left: 24px;
}
.list_sitemap .level03 li + li {
  margin-top: 5px;
}

/* pc */
@media screen and (min-width: 960px) {
  .list_sitemap .level02 {
    display: flex;
    flex-wrap: wrap;
  }
  .list_sitemap .level02 > li {
    width: 48%;
    margin: 0 2% 2% 0;
  }
  .list_sitemap .level02 >li + li { margin-top: 0; }
}

/*---------------------------------------------------------------------
	404
---------------------------------------------------------------------*/
.thumb_404 {
  margin-right: 40px;
  float: left;
  width: 20%;
}
.border_box {
  padding: 20px;
  border: 10px solid #fbf4e8;
}
.border_box > ul {
  color: #FF7F00;
  padding-left: 20px !important;
}

/*---------------------------------------------------------------------
	calendar
---------------------------------------------------------------------*/
.calendar{
  margin: 40px 0 0;
  padding: 20px 20px 35px;
  border-radius: 10px 10px 10px 10px;
  /* background: 
    url(/image/calendar/bg_01_sp.jpg) no-repeat 0 0/contain,
    url(/image/calendar/bg_01_repeat.jpg) repeat-y center bottom/contain; */
  /* background-color: #CDECFC; */
  background: 
    url(/image/calendar/bg_01_sp.jpg) no-repeat 0 0/cover,
    url(/image/calendar/bg_01_repeat.jpg) repeat-y center bottom/cover;
}

.calendar .table_counseling td{
  vertical-align: top;
  text-align: right;
}

.calendar .schedule_list{
  text-align: center;
}

/* 出力側で非表示にします
.calendar .youbi{
  display: none;
}
*/

.calendar .holiday_text{
  padding: 6px 29px;
  border-radius: 20px;
  background: url(/image/calendar/deoration_01_sp.png) no-repeat #EB6060 center center/84% ;
  font-weight: bold;
  text-align: center;
  color: #fff;
}

/* table.table_counseling td.past_day,
.area_calendar table.table_counseling td.past_day .schedule_list a,
table.table_counseling td.holiday.past_day .date_num,
table.table_counseling tr td.past_day:first-child .date_num,
table.table_counseling tr td.holiday.past_day:last-child .date_num,
.area_calendar table.table_counseling td.past_day .holiday_text,
table.table_counseling tr td.past_day:last-child .date_num */

table.table_counseling td.past_day .holiday_text{
  background-color: #E1E1E1;
  color: #000;
}

.calendar_info_block {
  position: relative;
  width: calc(100% - 80px);
  margin: 0 auto 20px;
  padding: 15px 12px;
  border: 1px solid #BFBFBF;
  border-radius: 10px;
  background-color: #fff;
}

.calendar_info_block::before,
.calendar_info_block::after{
  content: "";
  position: absolute;
  bottom: 0;
  width: 36px;
  height: 100px;
  background: no-repeat 0 bottom/36px;
}

.calendar_info_block::before{
  left: -40px;
  background-image: url(/image/calendar/icon_01.png);
}

.calendar_info_block::after{
  right: -40px;
  background-image: url(/image/calendar/icon_02.png);
}

.calendar_info_list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
}

.calendar_info_item {
  width: 100%;
  padding: 3px 0 3px 24px;
  background: no-repeat 0 center/17px;
}

.calendar_info_icon_calendar {
  background-image: url(/image/icon/icon_calendar.svg);
}

.calendar_info_time {
  background-image: url(/image/icon/icon_time.svg);
}

.calendar_info_tel {
  background-image: url(/image/icon/icon_tel.svg);
}

@media print, screen and (min-width: 960px) {
  .calendar{
    padding: 35px;
    background: #CDECFC url(/image/calendar/bg_01.jpg) no-repeat center 0/cover;
  }  

  .calendar_info_block {
    width: calc(100% - 120px);
    max-width: 806px;
    margin: 0 auto 30px;
    padding: 16px 12px;
  }
  
  .calendar_info_block::before,
  .calendar_info_block::after{
    width: 50px;
    height: 130px;
    background-repeat: no-repeat;
    background-size: 50px;
  }
  
  .calendar_info_block::before{
    left: -60px;
  }
  
  .calendar_info_block::after{
    right: -60px;
  }
  
  .calendar_info_list {
    gap: 5px 30px;
    justify-content: center;
  }
  
  .calendar_info_item {
    width: auto;
    padding: 0 0 0 26px;
    background-size: 20px;
  }

  .calendar .holiday_text{
    padding: 37% 5%;
    border-radius: 50%;
    background-image: url(/image/calendar/deoration_01.png);
    background-size: 77%;
  }
}

@media print, screen and (min-width: 1200px) {
  .calendar .holiday_text{
    padding: 40% 5%;
  }
}
/*-----------------------------以下地域統括側からコピー、最後には消してくださいNe★---------------------------------------*/
.pager_calendar {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.6rem;
  font-weight: 500;
  margin-bottom: 20px;
  column-gap: 30px
}
.pager_calendar .month {
  font-size: 3.8rem;
  display: inline-block;
  margin-left: 10px;
  margin-right: 5px;
}
.pager_calendar::before,
.pager_calendar::after{
  content: "";
  display: block;
  width: 40px;
  height: 40px;
}
.pager_calendar:has(a.prev_calendar)::before,
.pager_calendar:has(a.next_calendar)::after {
  content: none;
}
.pager_calendar >a {
  display: block;
  text-decoration: none;
  text-indent: -9999px;
  width: 40px;
  height: 40px;
  border-radius: 5px;
  background: #fff;
  border: 1px solid #bfbfbf;
  position: relative;
  transition: .3s;
}
.pager_calendar >a.next_calendar::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 2px solid #5CA794;
  border-right: 2px solid #5CA794;
  transform: rotate(45deg);
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -7px;
  margin-top: -5px;
}
.pager_calendar >a.prev_calendar::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-left: 2px solid #5CA794;
  border-bottom: 2px solid #5CA794;
  transform: rotate(45deg);
  position: absolute;
  right: 50%;
  top: 50%;
  margin-right: -7px;
  margin-top: -5px;
}
.pager_calendar >a:hover {
  background: #d6d6d6;
  border-color: #d6d6d6;
}
.pager_calendar >a.prev_calendar:hover::before,
.pager_calendar >a.next_calendar:hover::before {
  border-color: #fff;
}
table.table_counseling {
  background: #FFFFFF;
  table-layout: fixed;
  border-top: 1px solid #BFBFBF;
  border-bottom: none;
  border-right: 1px solid #BFBFBF;
  border-left: 1px solid #BFBFBF;
  border-collapse: separate;
}
table.table_counseling tr:first-child {
  display: none;
}
table.table_counseling th,
table.table_counseling td {
  border-top:none;
  border-bottom:1px solid #BFBFBF;
  border-right: none;
  border-left: none;
  display: block;
}
table.table_counseling th {
  font-size: 2.0rem;
  text-align: center;
  font-weight: 500;
  padding: 0 5px;
  background: #D0D7D9;
  background: #FFFFFF;
}
table.table_counseling th.saturday {
  background: #BAE4FF;
  /*
  background: #6767BD;
  color: #fff;
  */
}
table.table_counseling th.sunday {
  background: #FFEFF6;
  /*
  background: #DD6D52;
  color: #fff;
  */
}
table.table_counseling td {
  vertical-align: top;
  font-size: 1.5rem;
  padding: 0;
  position: relative;
}
/*table.table_counseling td:has(.schedule_list) {
  display: block;
}*/
table.table_counseling tr td:last-child .date_num {
  color: #004B8C;
  /* color: #6767BD; */
}
table.table_counseling td.holiday .date_num,
table.table_counseling tr td:first-child .date_num,
table.table_counseling tr td.holiday:last-child .date_num {
  color: #D7206E;
  /* color: #DD6D52; */
}

/*table.table_counseling tr td.holiday:nth-of-type(n+2) .date_num{
  color: #000000;
}*/

/*
table.table_counseling td:has(.schedule_list) {
  background: #F7F7F3;
}
*/

table.table_counseling td:has(.holiday_text) .schedule_list{
  display: none;
}

table.table_counseling td.empty_date {
  display: none;
  /* background: #F7F7F7; */
  background: #EDEDED;
}
/*table.table_counseling td.today {
  background: #F7B8A4;
  background: #FCF8E3;
}*/
table.table_counseling .date_text {
  display: flex;
  align-items: center;
  /*background: #FFF7E8;*/
  padding: 7px 10px;
  /*margin-bottom: 15px;*/
  justify-content: space-between;
}
table.table_counseling td.past_day,
table.table_counseling td.past_day .date_text,
.area_calendar table.table_counseling td.past_day .schedule_list a,
table.table_counseling td.holiday.past_day .date_num,
table.table_counseling tr td.past_day:first-child .date_num,
table.table_counseling tr td.holiday.past_day:last-child .date_num,
.area_calendar table.table_counseling td.past_day .holiday_text,
table.table_counseling tr td.past_day:last-child .date_num {
  /*background: #E4E4E4;*/
  /* background: #F7F7F7; */
  background: #EDEDED;
  /*color: #AAA;*/
}
.area_calendar table.table_counseling td.past_day .schedule_list a,
.area_calendar table.table_counseling td.past_day .schedule_list {
  color: #AAA;
}
table.table_counseling .date_num {
  font-size: 1.7rem;
  font-weight: 500;
}
table.table_counseling .date_num .youbi {
  font-size: 1.4rem;
}
table.table_counseling .date_num .public_holiday {
  font-size: 1.4rem;
  /* color: #EB6060; */
}
.area_calendar .schedule_list {
  margin-bottom: 15px;
  margin-top: 15px;
  position: relative;
  text-indent: -1.4em;
  margin-left: 1.4em;
  padding-left: 15px;
}
.area_calendar .schedule_list a {
  color: #000;
}
.area_calendar .schedule_list::before {
  content: "";
  display: inline-block;
  background: url("../image/icon/icon_calender02.svg") no-repeat center;
  width: 14px;
  height: 18px;
  margin-right: 0.4em;
}
.area_calendar .holiday_text {
  color: #DD6D52;
}
@media screen and (min-width: 960px) {
  .area_calendar {
    margin: 140px 0 80px;
    padding: 50px 0;
  }
  .area_calendar::before {
    width: calc(100% - 10px);
    height: 60%;
    top: 0;
  }
  .area_calendar::after {
    width: calc(100% - 10px);
    height: 40%;
    left: 0;
  }
  .area_calendar_contents {
    display: flex;
    margin-top: 36px;
    padding: 0 50px;
    column-gap: 30px;
    align-items: center;
  }
  .area_calendar_contents .ttl {
    font-size: 2.6rem;
  }
  .area_calendar_contents .text {
    font-size: 2.2rem;
  }
  .area_calendar_contents .subtxt {
    font-size: 2.0rem;
    font-weight: 400;
  }
  .area_calendar_contents .btnImg {
    flex-shrink: 0;
  }
  .pager_calendar {
    font-size: 2.4rem;
    margin-bottom: 0;
  }
  .pager_calendar .month {
    font-size: 4.8rem;
  }
  .area_calendar .schedule_list {
    padding-left: 0;
    
  }
  table.table_counseling {
    border: 1px solid #BFBFBF;
    border-collapse: collapse;
  }
  table.table_counseling tr:first-child {
    display: contents;
  }
  table.table_counseling th,
  table.table_counseling td {
    padding: 1px 5px;
    border: 1px solid #BFBFBF;
    display: table-cell;
    
  }
  table.table_counseling td {
    height: 170px;
    padding: 10px 10px 20px;
    padding: 20px 20px 20px;
  }
  table.table_counseling td.empty_date {
    display: table-cell;
  }
  table.table_counseling td:has(.schedule_list) {
    display: table-cell;
  }
  table.table_counseling .date_text {
    display: block;
    background: none;
    padding: 0;
  }
  table.table_counseling .date_text:has(.holiday_text) {
    justify-content: space-between;
  }
  table.table_counseling .date_num {
    text-align: right;
    padding: 0;
    margin: 0;
    font-size: 2.0rem;
    background: none;
    
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
    gap: 7px;
  }
  .area_calendar .holiday_text {
    position: absolute;
    right: 7px;
    bottom: 7px;
  }
  table.table_counseling .date_num .youbi {
    display: none;
  }
}

/*---------------------------------------------------------------------
	page_scroll
---------------------------------------------------------------------*/
#page_scroll_navi {
  margin-top: 30px;
}
#page_scroll_navi a {
  background-color: #00238C;
  text-decoration: none;
  text-align: center;
  opacity: 1;
  display: block;
  padding: 20px;
  line-height: 1;
}
#page_scroll_navi a:hover {
}

/* DeskTop */
@media (min-width: 980px) {
  #page_scroll_navi {
    margin: 0;
    position: absolute;
    top: -50px;
    left: 50%;
    margin-left: -100px;
    z-index: 1;
  }
  #page_scroll_navi a {
    display: inline-block;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    border: 3px solid #fff;
    padding-top: 35px;
    transition: transform .3s;
  }
  #page_scroll_navi a:hover {
    transform: rotateY(180deg);
  }
}

/*---------------------------------------------------------------------
	site_footer
---------------------------------------------------------------------*/
#site_footer {
  text-align: center;
  background: #EFFAFD url(/image/bg_footer.png) no-repeat center bottom /cover;
}
#site_footer .inner {
  box-sizing: content-box;
  margin: 0 auto;
  padding: 15px;
  max-width: 1200px;
}

.footer_logo {
  width: 65%;
  max-width: 300px;
  margin: 0 auto 15px;
}
.footer_address {
  margin-bottom: 10px;
}
.gmap_btn {
  font-weight: bold;
  color: #fff !important;
  background: #649E3A;
  text-align: center;
  border-radius: 35px;
  text-decoration: none;
  display: inline-block;
  padding: 5px 30px;
  font-size: 1.2rem;
}
.footer_info .tel {
  margin: 10px 0;
}
.footer_info .tel a {
  color: #000;
  text-decoration: none;
}

.footer_sns,
.footer_pr_logo {
  margin: 0 0 10px;
}

.footer_sns a,
.footer_pr_logo a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  color: #000;
  text-decoration: none;
}

/* footer_navi */
.footer_navi { display: none; }

/* footer_tel */
.footer_tel {
  text-align: center;
}
.footer_tel .lead {
  color: #00238C;
  font-weight: 100;
  font-size: 3rem;
  padding-left: 20px;
  margin-bottom: 20px;
    line-height: 1;
}
.footer_tel_inner {
  background: #fff;
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0 3px 6px rgb(0 0 0 / 10%);
}
.footer_tel .tel_txt {
    background: url(/image/icon/icon_tel.svg) no-repeat center top/22px;
    padding-top: 30px;
    margin-bottom: 10px;
}
.footer_tel .tel_btn {
  color: #000;
  display: flex;
  flex-direction: column;
  background-color: #DCF3FC;
  border: 1px solid #CCC;
  text-decoration: none;
  border-radius: 35px;
  line-height: 1;
  padding: 10px;
  max-width: 260px;
  margin: 0 auto;
}
.footer_tel .tel_btn .no {
  color: #00238C;
  font-weight: bold;
  font-size: 2.4rem;
  margin-bottom: 6px;
}
.footer_tel .tel_btn .day {
    font-size: 1.3rem;
}

.copyright {
  color: #fff;
  font-size: 13px;
  text-align: center;
  padding: 15px;
  background: #00238C;
  border-top: 5px solid #7386C0;
}

/* DeskTop */
@media (min-width: 980px) {
  #site_footer {
    text-align: left;
    border-top: 1px solid #bbb;
    position: relative;
    margin-top: 120px;
    padding: 80px 30px 70px;
  }
  #site_footer .inner {
    padding: 0;
    display: flex;
    justify-content: space-between;
  }
  .footer_logo {
    width: auto;
    margin: 5px 0 20px;
  }
  .gmap_btn {
    font-size: 1.4rem;
    width: 200px;
    transition: background .3s;
  }
  .gmap_btn:hover {
    color: #fff;
    text-decoration: none;
    background: #00238C;
  }
  .footer_info .tel {
    margin: 50px 0 0;
  }

  .footer_sns,
  .footer_pr_logo{
    justify-content: flex-start;
    margin: 20px 0 0;
  }
  
  .footer_sns a,
  .footer_pr_logo a{
    justify-content: flex-start;
  }
  
  /* footer_navi */
  .footer_navi {
    display: block;
    width: 34.75%
  }
  .footer_navi .main {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30px;
  }
  .footer_navi .main li {
    width: 44.62%;
    margin: 0 9.59% 0 0;
  }
  .footer_navi .main li:nth-child(2n) { margin-right: 0; }
  .footer_navi .main li:nth-child(n+3) { margin-top: 40px; }
  .footer_navi .main li a {
    display: block;
    font-size: 1.6rem;
    color: #000;
    text-decoration: none;
    border-bottom: 1px dotted #4295C4;
    background: url(../image/icon/icon_nichiryu_dots.svg) no-repeat 0 3px;
    padding: 0 0 5px 17px;
    position: relative;
  }
  .footer_navi .main li a::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #00238C;
    transition: .3s;
  }
  .footer_navi .main li a:hover::before {
    height: 2px;
  }
  .footer_navi .sub {
    display: flex;
    flex-wrap: wrap;
  }
  .footer_navi .sub li { margin: 0 30px 20px 0; }
  .footer_navi .sub li a {
    display: block;
    font-size: 1.4rem;
    color: #000;
    text-decoration: none;
    background: url(../image/icon/icon_arrow_blue.svg) no-repeat 0 7px;
    padding: 0 0 0 15px;
    position: relative;
  }
  .footer_navi .sub li a::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0;
    background: #00238C;
    transition: .3s;
  }
  .footer_navi .sub li a:hover::before {
    height: 2px;
  }
  
  
  /* footer_tel*/
  .footer_tel {
    width: 320px;
  }
  .footer_tel_inner {
    padding: 25px 30px;
  }
}

/*-----------------------------直売所---------------------------------------*/
.direct_sales_txt,
.content1 .direct_sales_txt{
  font-size: 125%;
  font-weight: 600;
}

.direct_sales_list_name{
  font-size: 123.077%;
}

.direct_sales_list_name + *{
  margin-top: 5px;
}

.btn_calendar_wrap {
  text-align: center;
}

.btn_04,
.btn_04:visited {
  display: inline-block;
  position: relative;
  width: 80%;
  max-width: 480px;
  max-width: 330px;
  padding: 10px 60px;
  border: 1px solid #CCCCCC;
  border-radius: 10px;
  background: 
    url("../image/icon/icon_arrow_blue.svg") no-repeat right 10px center,
    url("../image/bg_09.png") no-repeat center center/cover;
  text-align: center;
  text-decoration: none;
  color: #000C2F;
  transition: .3s;
}

.btn_calendar_wrap{
  margin-top: 60px;
}

.btn_calendar::before{
  content: "";
  position: absolute;
  left: 8%;
  bottom: 5px;
  width: 37px;
  height: 94px;
  height: 70px;
  background: url(../image/chara_01.png) no-repeat center center/contain;
}

.btn_04:hover,
.btn_04:visited:hover{
  text-decoration: none;
  color: #000C2F;
  opacity: .7;
}

.top_navi_bnr{
  max-width: 1200px;
  margin: 0 auto;
}

.top_navi_bnr li + li{
  margin-top: 20px;
}

@media print, screen and (min-width: 768px) {
  .direct_sales_txt,
  .content1 .direct_sales_txt{
    font-size: 137.5%;
  }

  .direct_sales_list_name{
    font-size: 125%;
  }

  .direct_sales_list_name + *{
    margin-top: 5px;
  }

  .direct_sales_list .fll_img{
    width: 240px;
    margin-right: 30px;
  }

  .btn_04,
  .btn_04:visited {
    max-width: 480px;
    padding: 19px 60px;
    background: 
      url("../image/icon/icon_arrow_blue.svg") no-repeat right 20px center/17px,
      url("../image/bg_09.png") no-repeat center center/cover;
    font-size: 137.6%;
  }

  

  .btn_calendar_wrap{
    margin-top: 60px;
  }

  .btn_calendar::before{
    left: 40px;
    height: 94px;
  }

  .top_navi_bnr {
    display: flex;
    flex-wrap: nowrap;
    align-items: baseline;
  }

  .top_navi_bnr li {
    width: 48%;
    margin: 0 4% 0 0;
  }

  .top_navi_bnr li + li{
    margin-top: 0;
  }

  .top_navi_bnr li:nth-child(2n){
    margin-right: 0;
  }
}

@media print, screen and (min-width: 980px) {
  .top_navi_bnr {
    padding: 0 40px;
    box-sizing: content-box;
  }

  .top_navi_bnr li a{
    transition: transform .3s,opacity .3s;
  }

  .top_navi_bnr li a:hover{
    color: #fff;
    opacity: .9;
    transform: scale(1.05);
  }

}

/*naviメニュープルダウン*/
/* =========================
========================= */

/* 親基準 */
.navi_04--hasDropdown{
  position: relative;
}

/* ドロップダウンが切られるのを防ぐ（必要なら効く） */
.header_list,
#site_navi,
.g_navi{
  overflow: visible;
}

/* ===== 共通：プルダウンの見た目 ===== */
.navi_04__dropdown {
    background: #fff;
    border: 3px solid #00238C;
    border-radius: 0;
    padding: 10px 10px;
    box-sizing: border-box;
    margin-top: 2px;
}

/* 子リンクの見た目 */
.navi_04__dropdownLink{
  color: #00238C;
  text-decoration: none;
  font-weight: 600;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.navi_04__dropdownLink::before{
  content: ">";
  color: #00238C;
  font-weight: 700;
}
.navi_04__dropdownLink:hover{
  text-decoration: underline;
}

/* =========================
  PC（769px〜）：hoverで表示
========================= */
@media screen and (min-width: 769px){

  /* PC：普段は非表示＋absoluteで出す */
  .navi_04__dropdown{
    display: none;
    position: absolute;
    top: 85%;
    right: 0;
    min-width: 350px;
    z-index: 99999;
  }

  .navi_04__dropdownLink::before {
    content: none;
    color: #00238C;
    font-weight: 700;
}
  /* PC：hover/フォーカスで表示 */
  .navi_04--hasDropdown:hover .navi_04__dropdown,
  .navi_04--hasDropdown:focus-within .navi_04__dropdown{
    display: flex;
    gap: 28px;
    align-items: center;
  }

  /* PC：プルダウンを開いている間だけ、採用情報の下線を消す */
  .navi_04--hasDropdown:hover > a,
  .navi_04--hasDropdown:focus-within > a{
    text-decoration: none !important;
    border-bottom: none !important;
  }
  .navi_04--hasDropdown:hover > a::after,
  .navi_04--hasDropdown:focus-within > a::after{
    content: none !important;
    display: none !important;
  }
    .navi_04--hasDropdown:hover .navi_04__dropdown, .navi_04--hasDropdown:focus-within .navi_04__dropdown {
    display: flex;
    gap: 0px;
    align-items: center;
}
}

/* =========================
  SP（〜768px）：常時表示（被らない）
========================= */
@media screen and (max-width: 768px){

  /* SP：ナビの流れに乗せて常時表示 */
  .navi_04__dropdown{
    display: block;
    position: static;
    min-width: 0;
    width: 100%;
    margin-top: 10px;
    padding: 0;
    border-radius: 0;
    border: none;
    background: transparent; /* SPは背景なしにしたい場合。必要なら #fff に */
  }

    .navi_04__dropdownLink::before {
    content: none;
}
  /* SP：縦並びにする */
  .navi_04__dropdownItem + .navi_04__dropdownItem{
    margin-top: 8px;
  }

  a.navi_04__dropdownLink {
    border-top: none !important;
    border-left: 2px solid #ffffff !important;
    border-right: none !important;
    background: #ffffff !important;
    font-weight: 500;
    border-bottom: 2px solid #00238c !important;
    color: #00238c !important;
    width: 70%;
    margin: 0 auto;
}

}


/*追従バナー*/
/* =========================
  Project: Follow Vertical Banner
========================= */

.p-followVBanner {
    position: fixed;
    right: 12px;
    top: 140px;
    z-index: 1000;
    width: 52px;
    padding: 14px 8px 10px;
    border-radius: 10px;
    text-decoration: none !important;
    background: #00a55a;
    color: #fdfeff !important;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    box-shadow: 0 8px 20px rgba(0,0,0,.08);
}

/* 縦書きテキスト */
.p-followVBanner__text{
  writing-mode: vertical-rl;
  text-orientation: upright;

  font-size: 21px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1;

  /* 文字ブロックを中央に寄せる */
  display: inline-block;
}

/* 下のアイコン枠 */
.p-followVBanner__icon{
  width: 30px;
  height: 30px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}

.p-followVBanner__icon img{
  display: block;
}

/* ホバー */
@media (hover:hover){
  .p-followVBanner:hover{
    filter: brightness(0.98);
    transform: translateY(-1px);
    transition: transform .15s ease, filter .15s ease;
  }
}

/* SPは少し内側へ（誤タップ/被り対策） */
/* @media (max-width: 480px){
  .p-followVBanner{
    right: 8px;
    top: 120px;
    width: 48px;
  }
} */

/* =========================
  SP: Floating CTA（横長・画面下固定）
========================= */
@media (max-width: 480px){
  .p-followVBanner{
    right: 12px;
    left: 12px;
    top: auto;          
    bottom: 12px;
    width: auto;
    padding: 12px 14px;
    border-radius: 12px;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 10px;

    box-shadow: 0 10px 24px rgba(0,0,0,.14);
  }

  /* 縦書きを解除して横書きへ */
  .p-followVBanner__text{
    writing-mode: horizontal-tb;
    text-orientation: mixed;

    font-size: 16px;
    letter-spacing: .02em;
    line-height: 1.2;

    /* 2行まで許容（長い文言対策） */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }

  /* アイコンは右端に */
  .p-followVBanner__icon{
    width: 34px;
    height: 34px;
    border-radius: 8px;
    flex: 0 0 auto;
  }
}

a.navi_04__link {
    pointer-events: none;
}