@font-face {
	font-family: demi;
	src: url('../font/Neutra2Text_demi.eot'); /* IE9 Compat Modes */
	src: url('../font/Neutra2Text_demi.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
		url('../font/Neutra2Text_demi.woff') format('woff'); /* Modern Browsers */
}
@font-face{
	font-family: demi_number;
	src: url('../font/Neutra2Text-Demi-Lining.eot'); /* IE9 Compat Modes */
	src: url('../font/Neutra2Text-Demi-Lining.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
		url('../font/Neutra2Text-Demi-Lining.woff') format('woff'); /* Modern Browsers */
}

/*****************************************************
　2カラムを1カラムに
*****************************************************/
.container {
  display: flex;
  flex-wrap: wrap;
}
.column {
  width: 100%;
}

@media (min-width: 1024px) {
  .column {
    width: 50%;
  }
}


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

/*****************************************************
　リンク
*****************************************************/
A:link { COLOR: #000; TEXT-DECORATION: none}
A:visited { COLOR: #000; TEXT-DECORATION: none }
A:active { COLOR: #000; TEXT-DECORATION: none }
A:hover { color: #a19e9d; TEXT-DECORATION: none}

a:hover img{
filter:alpha(opacity=77); 
-moz-opacity: 0.5; 
opacity: 0.5;
}

/*****************************************************
　テキスト
*****************************************************/
body {
font-family: "ヒラギノ角ゴ ProN W3", HiraKakuProN-W3, 游ゴシック, "Yu Gothic", メイリオ, Meiryo,sans-serif;
}

.style1 {
font-size: 17px; COLOR: #666666; line-height: 2;
}

.style2 {
font-size: 1em; COLOR: #333333; line-height: 1.3;
}

.style3 {
     font-family:"demi","demi_number","ヒラギノ角ゴシック","Hiragino Sans","Hiragino Kaku Gothic ProN","Meiryo","sans-serif";
     font-size:  3.1em; 
     line-height: 50px;
     COLOR: #000000;
}

.style4 {
font-size: 2.3em; COLOR: #333333; line-height: 1.8;
}

.style5 {
font-size: 1.4em; COLOR: #333333; line-height: 1.3;
}

/*****************************************************
　h2タグ
*****************************************************/
h2{
     font-size: 22px; 
     font-weight: bold; 
     line-height: 2px;
     COLOR: #000000;
     margin:40px 0 20px 0;
}

/*****************************************************
　Pタグ
*****************************************************/
p{
     font-size: 15px; 
     font-family: "メイリオ",sans-serif; 
     line-height: 15px;
     COLOR: #ffffff;
     margin:0 15px 20px 15px;
}

/*****************************************************
　ヒーローイメージ
*****************************************************/
.headerimg{
text-align: center;
vertical-align:middle;
background: #ffffff;
background-position: center;
background-size: cover;
padding: 5% 2% 2% 2%;
}
.headerimg h1{
    margin-top: 5;
    margin-bottom: 10px;
    font-size: 2.5vw;
    letter-spacing: 0.2em;
    margin-left: 0.2em;
    COLOR: #606060;
}
.headerimg p{
    text-align: left;
    margin-top: 0;
    margin-bottom: 3;
    line-height: 1.5em;
    font-size: 17px;
    COLOR: #606060;
}

/*****************************************************
　ボタン
*****************************************************/
.button006 a {
    background: #506362;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 300px;
    padding: 10px 25px;
    color: #ffffff;
    transition: 0.3s ease-in-out;
    font-weight: 590;
    font-size: 20px; 
}
.button006 a:before {
    content: '';
    position: absolute;
    top: calc(50% - 2px);
    right: -2em;
    transform: translateY(calc(-50% - 2px)) rotate(30deg);
    width: 12px;
    height: 2px;
    background-color: #b1b1b1;
    transition: 0.3s;
}
.button006 a:after {
    content: '';
    position: absolute;
    top: 50%;
    right: -2em;
    transform: translateY(-50%);
    width: 60px;
    height: 2px;
    background-color: #b1b1b1;
    transition: 0.3s;
}
.button006 a:hover:before, .button006 a:hover:after {
    right: -2.5em;
}
.button006 a:hover {
    background: #eee;
    color: #b1b1b1;
}

/*****************************************************
　最大幅
*****************************************************/
html {
  max-width: 1400px;
  margin: 0 auto;
  background: #fff; /* Fills the page */
  position: relative; /* Fix for absolute positioning */
}

/*****************************************************
　ふわっとアニメーション
*****************************************************/
.slideBox {
  height: 550px;
  overflow: hidden;
  position: relative;
}

/* imgのみ */
.item1 {
  opacity: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-animation: anime 40s 0s infinite;
  animation: anime 40s 0s infinite;
}

.item1:nth-of-type(2) {
  -webkit-animation-delay: 10s;
  animation-delay: 10s;
}

.item1:nth-of-type(3) {
  -webkit-animation-delay: 20s;
  animation-delay: 20s;
}

.item1:nth-of-type(4) {
  -webkit-animation-delay: 30s;
  animation-delay: 30s;
}

/* ふわっとアニメーション */
@keyframes anime {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  25% {
    opacity: 1;
  }
  40% {
    opacity: 0;
    z-index: 9;
  }
  100% {
    opacity: 0;
  }
}

@-webkit-keyframes anime {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  25% {
    opacity: 1;
  }
  40% {
    opacity: 0;
    z-index: 9;
  }
  100% {
    opacity: 0;
  }
}

/*****************************************************
　テーブルレイアウト
*****************************************************/
.flex-row {
  display: flex;
  gap: 30px;
}

.flex-row+.flex-row {
  margin-top: 20px;
}

.flex-item {
  background: #fff;
  padding: 4px;
}

.flex-item:nth-child(1) {
  width: 110px;
  text-align: right;
}

.flex-item:nth-child(2) {
  flex: 1;
  text-align: left;
}

/*****************************************************
　画像とテキストの横並びして、縦（垂直方向）中央揃え
*****************************************************/
.section2 img{
	margin-right:10px;
	vertical-align: middle;
}
.section2 span{
	vertical-align: middle;
}

/*****************************************************
　ボタン押下でサブウインドウ表示
*****************************************************/
.open_sub_window {
    display: block;
    width: 15em;
    padding: 0.3em 1em;
    border-radius: 0px;
    background-color: #506362;
    color: #fff;
    text-align: center;
    cursor: pointer;
    font-size: 20px;
}
.open_sub_window:hover {
    opacity: 0.8;
}

.check_sub_window {
    display: none;
}

.bg_sub_window {
    display: block;
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background-color: rgba(0, 0, 0, 0.5);
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}
.bg_sub_window:hover {
    transition: 0.5s;
}

.check_sub_window:checked + .bg_sub_window {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transition: 0.5s;
}

.sub_window {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    padding: 30px;
    max-height: 90%;
    background-color: #fff;
    overflow-y: auto;
}
@media screen and (max-width: 767px) {
    .sub_window {
        width: calc(100% - 20px);
    }        
}
@media print, (min-width: 768px) {
    .sub_window {
        width: 90%;
        max-width: 900px;
    }
}

.close_sub_window {
    position: absolute;
    top: 10px;
    right: 10px;
    transform: rotate(45deg);
    border: none;
    outline: none;
    width: 30px;
    height: 30px;
}
.close_sub_window::before,
.close_sub_window::after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    background-color: #3388dd;
    content: "";
}
.close_sub_window::before {
    width: 60%;
    height: 3px;
}
.close_sub_window::after {
    width: 3px;
    height: 60%;
}
.close_sub_window:hover {
    cursor: pointer;
}

.sub_window_content {
    display: table;
    margin: 0px auto;
}