@charset "utf-8";
/*===========================
add
===========================*/
/*===========================
削除OK
===========================*/
.wf-ryumin {
  font-family: a-otf-ryumin-pr6n, serif;
  font-weight: 300;
  font-style: normal;
}
.catch2 {
  color: #fff;
  font-size: 1em;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  margin-top: 30px;
}

.catch4 {
  color: #000;
  font-size: 1em;

  margin-top: 30px;
}
@media (max-width: 768px) {
  .catch2 {
    font-size: 0.8em;
    color: #333;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    position: fixed;
    left: 120px;
    top: 20px;
    margin-top: 0;
  }
}
/* 縦中央 */
.vcenter {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
/* 縦書き */
.text-vertical {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
/* 縦書き数字横文字 */
.text-combine {
  -webkit-text-combine: horizontal;
  -ms-text-combine-horizontal: all;
  text-combine-upright: all;
  vertical-align: text-bottom;
  font-size: 0.9em;
}
.box {
  text-align: center;
}
.exp {
  -webkit-writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  display: inline-block;
  text-align: left;
}
h2.h2border {
  position: relative;
  display: inline-block;
  padding: 0 55px;
}
h2.h2border:before {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 2px;
  height: 35px;
  background-color: black;
}
h2.h2border:before {
  top: -43px;
  left: 50%;
}
h2.h2border2 {
  text-align: left;
  font-size: 20px;
  padding: 0;
}
h2.h2border2 span {
  margin-bottom: 15px;
  letter-spacing: 1px;
  margin-top: 0px;
  font-size: 18px;
  display: block;
  color: #dddddd;
  padding: 0;
  font-weight: 300;
  font-family: century-gothic, sans-serif;
}
h2.h2border2 {
  position: relative;
  display: inline-block;
  padding: 0 0 0 45px;
}
h2.h2border2:before {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 2px;
  height: 185px;
  background-color: black;
}
h2.h2border2:before {
  top: -100px;
  left: 8%;
}
h2.h2border3 span {
  margin-bottom: 15px;
  letter-spacing: 1px;
  margin-top: 0px;
  font-size: 18px;
  display: block;
  color: #dddddd;
  padding: 0;
  font-weight: 300;
  font-family: century-gothic, sans-serif;
}
h2.h2border3 {
  position: relative;
  display: inline-block;
  padding: 0 55px;
  font-size: 20px;
}
h2.h2border3:before {
  content: '';
  position: absolute;
  top: 115%;
  left: 50%;
  display: inline-block;
  width: 2px;
  height: 30px;
  background-color: black;
}
h2.h2border2:before {
  top: -100px;
  left: 7%;
}
h3.h3_footer:after {
    content: '';
    position: absolute;
    bottom: -10px;
    display: inline-block;
    width: 100%;
    height: 2px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #607d8b;
    border-radius: 8px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
}
h3.data {
  text-align: left;
  color: #CECECE;
  border-bottom: 2px solid #607D8B;
  font-size: 16px;
}
h3.data:after {
    height: 0;
}
.cap {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  position: absolute;
  z-index: 999;
  left: 50%;
  top: 37px;
  color: #fff;
  border-right: 2px solid #fff;
  font-size: 1.3em;
  /*text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;*/
}
@media (max-width: 480px) {
  .cap {
    left: 50%;
    top: 22px;
    font-size: 1.2em;
  }
}
.slider-wrapper {
  position: relative;
}
.button_line a {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  /*max-width: 200px;*/
  padding: 10px 25px;
  color: #313131;
  transition: 0.3s ease-in-out;
  font-weight: 600;
  font-size: 0.8em;
}
.button_line a:before {
  position: absolute;
  content: '';
  width: 100%;
  height: 2px;
  top: 100%;
  left: 0;
  border-radius: 3px;
  background: #607d8b;
  transition: .2s;
}
.button_line a:hover:before {
  top: calc(100% - 2px);
}

/* info */
.info {
  /*position: absolute;
  left: 0;
  top: -150px;
  background-color: #D84B40;*/
  padding: 20px 35px;
  width: 100%;
  z-index: 999;
  border-radius: 5px;
  /*color: #FFFFFF;*/
}
@media (max-width: 480px) {
  .info {
    position: static;
    top: 0;
    padding: 20px 0;
  }
}
.info h2 {
  font-style: oblique;
  font-size: 30px;
  font-weight: 900;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 20px;
  word-spacing: 8px;
  letter-spacing: 2px;
  color: #FFFFFF;
}
.info dl {
  overflow-y: scroll;
  max-height: 150px;
}
.info dt {
  float: left;
  padding-top: 15px;
  padding-bottom: 10px;
}
.info dd {
  padding-top: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.30);
  padding-left: 7em;
}
@media only screen and (max-width: 480px) {
  .info dt {
    float: none;
    padding-bottom: 0;
  }
  .info dd {
    padding-top: 0;
    padding-left: 0;
  }
}
/* 縦中央 */
.vcenter {
  display: flex;
  align-items: center;
  justify-content: center;
}
.vcenter2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: start;
}

/* ポップアップ */
.item_wrapper:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
}

.item {
  width : -webkit-calc(100% / 3) ;
  width : calc(100% / 3) ;
  
  padding: 20px;
  float: left;
}
@media (max-width: 480px) {
.item {
  width: 100%;
  float: none;
	
}
}
.item2 {
 /* width : -webkit-calc(100% / 3) ;
  width : calc(100% / 3) ;
  
  padding: 20px;
  float: left;*/
}
@media (max-width: 480px) {
.item2 {
  width: 100%;
  float: none;
	
}
}

.popupbg {
  position: fixed;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 10;
  top: 0;
  left: 0;
  display: none;
}
.popupbg2 {
  position: fixed;
  width: 100%;
  height: 100%;
      background: rgb(0 0 0 / 10%);
  z-index: 10;
  top: 0;
  left: 0;
  display: none;
}

.popup_wrapper {
  /*width: 500px;
  height: 600px;*/
  position: fixed;
  top: 50%;
  left: 50%;
  margin: -300px 0 0 -250px;
  z-index: 999;
  text-align: center;
  display: none;
}
.popup_wrapper .popup {
  position: relative;
}
.popup_wrapper .img {
  display: inline-block;
  /*width: 500px;
  height: 500px;*/
}

.popup_wrapper .caption {
	padding: 10px;
	font-size: 18px;
	color: #fff;
	border-radius: 30px;
	background-color: #A89D9D;
	width: 200px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 15px;
}
.caption2 {
	padding: 10px;
	font-size: 18px;
	color: #fff;
	border-radius: 30px;
	background-color: #607d8b;
	width: 200px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 15px;
}
.caption3 {
	padding: 10px;
	font-size: 18px;
	color: #fff;
	border-radius: 30px;
	background-color: #607d8b;
	/*width: 200px;*/
	margin-left: auto;
	margin-right: auto;
	margin-top: 15px;
}
.popup_wrapper .close_btn {
  line-height: 30px;
  position: absolute;
  right: 0;
  top: 0;
  width: 30px;
  height: 30px;
  border-radius: 15px;
  background: #fff;
  margin: -15px -15px 0 0;
  font-size: 24px;
  vertical-align: middle;
  text-align: center;
  cursor: pointer;
}
.item .pop {
	position: relative;
}
.item .pop .icon {
	display: inline-block;
	position: absolute;
	bottom: 10px;
	right: 22px;
}
.item .pop p.icon {
	color: #FFFFFF;	
}
.square{
    counter-reset: list-counter;
    list-style: none;
    /*float:left;*/
}
.square li{
    margin: 0.3em 0;
	display: flex;
    flex-direction: inherit;
    /* justify-content: center; */
    align-items: center;
}
.square li:before{
    content: counter(list-counter);
    counter-increment: list-counter;
    width: 1em;
    height: 1em;
    padding: .5em;
    margin-right: 1em;
    border: .25em solid #ccc;
    background: #000;
    color: #fff;
    font-family: arial;
    font-weight: bold;
    text-align: center;
    display: flex;
    flex-direction: inherit;
     justify-content: center; 
    align-items: center;
	
    
}

.pattern{
  height:60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}


.item-list {
  padding:0 10px 0 10px;
}

.item-list ul{
  margin-left:-10px;
  overflow:hidden;
  background-color:transparent;
}

.item-list ul li {
  list-style-type:none;
  float:left;
  /*padding-left:20px;*/
}

ul.cols-1 li {width: 100%;}
ul.cols-2 li {width: 50%;}
ul.cols-3 li {width: 33.33333%;}
ul.cols-4 li {width: 25%;}
ul.cols-5 li {width: 20%;}
ul.cols-6 li {width: 16.66666%;}
ul.cols-7 li {width: 14.28571%;}
ul.cols-8 li {width: 12.5%;}

@media only screen and (max-width: 767px) {
  ul.cols-4 li,ul.cols-5 li,ul.cols-6 li,ul.cols-7 li,ul.cols-8 li{
      width: 33%;
  }
  ul.cols-3 li{
      width:50%;
  } 
}

@media only screen and (max-width: 479px) {
  ul[class*='cols-'] > li{
      width: 100%;
  }
}

table {
  background-color: transparent
}
caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #777;
  text-align: left
}
th {
  text-align: left
}
.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 20px
}
.table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, .table > thead > tr > th {
	padding: 8px;
	line-height: 1.42857143;
	vertical-align: middle;
	border-top: 1px solid #ddd
}
.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #ddd
}
.table > caption + thead > tr:first-child > td, .table > caption + thead > tr:first-child > th, .table > colgroup + thead > tr:first-child > td, .table > colgroup + thead > tr:first-child > th, .table > thead:first-child > tr:first-child > td, .table > thead:first-child > tr:first-child > th {
  border-top: 0
}
.table > tbody + tbody {
  border-top: 2px solid #ddd
}
.table .table {
  background-color: #fff
}
.table-condensed > tbody > tr > td, .table-condensed > tbody > tr > th, .table-condensed > tfoot > tr > td, .table-condensed > tfoot > tr > th, .table-condensed > thead > tr > td, .table-condensed > thead > tr > th {
  padding: 5px
}
.table-bordered {
  border: 1px solid #ddd
}
.table-bordered > tbody > tr > td, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > td, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > thead > tr > th {
  border: 1px solid #ddd
}
.table-bordered > thead > tr > td, .table-bordered > thead > tr > th {
  border-bottom-width: 2px
}
.table-striped > tbody > tr:nth-of-type(odd) {
	background-color: #EFEFEF
}
.table-striped > tbody > tr:nth-of-type(even) {
	background-color: #fff
}
.table-striped td {
	text-align: center;  
}
.table-hover > tbody > tr:hover {
  background-color: #f5f5f5
}
table col[class*=col-] {
  position: static;
  display: table-column;
  float: none
}
table td[class*=col-], table th[class*=col-] {
  position: static;
  display: table-cell;
  float: none
}
.table > tbody > tr.active > td, .table > tbody > tr.active > th, .table > tbody > tr > td.active, .table > tbody > tr > th.active, .table > tfoot > tr.active > td, .table > tfoot > tr.active > th, .table > tfoot > tr > td.active, .table > tfoot > tr > th.active, .table > thead > tr.active > td, .table > thead > tr.active > th, .table > thead > tr > td.active, .table > thead > tr > th.active {
  background-color: #f5f5f5
}
.table-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr.active:hover > th, .table-hover > tbody > tr:hover > .active, .table-hover > tbody > tr > td.active:hover, .table-hover > tbody > tr > th.active:hover {
  background-color: #e8e8e8
}
.table > tbody > tr.success > td, .table > tbody > tr.success > th, .table > tbody > tr > td.success, .table > tbody > tr > th.success, .table > tfoot > tr.success > td, .table > tfoot > tr.success > th, .table > tfoot > tr > td.success, .table > tfoot > tr > th.success, .table > thead > tr.success > td, .table > thead > tr.success > th, .table > thead > tr > td.success, .table > thead > tr > th.success {
  background-color: #dff0d8
}
.table-hover > tbody > tr.success:hover > td, .table-hover > tbody > tr.success:hover > th, .table-hover > tbody > tr:hover > .success, .table-hover > tbody > tr > td.success:hover, .table-hover > tbody > tr > th.success:hover {
  background-color: #d0e9c6
}
.table > tbody > tr.info > td, .table > tbody > tr.info > th, .table > tbody > tr > td.info, .table > tbody > tr > th.info, .table > tfoot > tr.info > td, .table > tfoot > tr.info > th, .table > tfoot > tr > td.info, .table > tfoot > tr > th.info, .table > thead > tr.info > td, .table > thead > tr.info > th, .table > thead > tr > td.info, .table > thead > tr > th.info {
  background-color: #d9edf7
}
.table-hover > tbody > tr.info:hover > td, .table-hover > tbody > tr.info:hover > th, .table-hover > tbody > tr:hover > .info, .table-hover > tbody > tr > td.info:hover, .table-hover > tbody > tr > th.info:hover {
  background-color: #c4e3f3
}
.table > tbody > tr.warning > td, .table > tbody > tr.warning > th, .table > tbody > tr > td.warning, .table > tbody > tr > th.warning, .table > tfoot > tr.warning > td, .table > tfoot > tr.warning > th, .table > tfoot > tr > td.warning, .table > tfoot > tr > th.warning, .table > thead > tr.warning > td, .table > thead > tr.warning > th, .table > thead > tr > td.warning, .table > thead > tr > th.warning {
  background-color: #fcf8e3
}
.table-hover > tbody > tr.warning:hover > td, .table-hover > tbody > tr.warning:hover > th, .table-hover > tbody > tr:hover > .warning, .table-hover > tbody > tr > td.warning:hover, .table-hover > tbody > tr > th.warning:hover {
  background-color: #faf2cc
}
.table > tbody > tr.danger > td, .table > tbody > tr.danger > th, .table > tbody > tr > td.danger, .table > tbody > tr > th.danger, .table > tfoot > tr.danger > td, .table > tfoot > tr.danger > th, .table > tfoot > tr > td.danger, .table > tfoot > tr > th.danger, .table > thead > tr.danger > td, .table > thead > tr.danger > th, .table > thead > tr > td.danger, .table > thead > tr > th.danger {
  background-color: #f2dede
}
.table-hover > tbody > tr.danger:hover > td, .table-hover > tbody > tr.danger:hover > th, .table-hover > tbody > tr:hover > .danger, .table-hover > tbody > tr > td.danger:hover, .table-hover > tbody > tr > th.danger:hover {
  background-color: #ebcccc
}
.table-responsive {
  min-height: .01%;
  overflow-x: auto
}
@media screen and (max-width:767px) {
  .table-responsive {
    width: 100%;
    margin-bottom: 15px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #ddd
  }
  .table-responsive > .table {
    margin-bottom: 0
  }
  .table-responsive > .table > tbody > tr > td, .table-responsive > .table > tbody > tr > th, .table-responsive > .table > tfoot > tr > td, .table-responsive > .table > tfoot > tr > th, .table-responsive > .table > thead > tr > td, .table-responsive > .table > thead > tr > th {
    white-space: nowrap
  }
  .table-responsive > .table-bordered {
    border: 0
  }
  .table-responsive > .table-bordered > tbody > tr > td:first-child, .table-responsive > .table-bordered > tbody > tr > th:first-child, .table-responsive > .table-bordered > tfoot > tr > td:first-child, .table-responsive > .table-bordered > tfoot > tr > th:first-child, .table-responsive > .table-bordered > thead > tr > td:first-child, .table-responsive > .table-bordered > thead > tr > th:first-child {
    border-left: 0
  }
  .table-responsive > .table-bordered > tbody > tr > td:last-child, .table-responsive > .table-bordered > tbody > tr > th:last-child, .table-responsive > .table-bordered > tfoot > tr > td:last-child, .table-responsive > .table-bordered > tfoot > tr > th:last-child, .table-responsive > .table-bordered > thead > tr > td:last-child, .table-responsive > .table-bordered > thead > tr > th:last-child {
    border-right: 0
  }
  .table-responsive > .table-bordered > tbody > tr:last-child > td, .table-responsive > .table-bordered > tbody > tr:last-child > th, .table-responsive > .table-bordered > tfoot > tr:last-child > td, .table-responsive > .table-bordered > tfoot > tr:last-child > th {
    border-bottom: 0
  }
}


/*/*===========================
削除OK
===========================*/
