html {
  scroll-behavior: smooth;
}
body {
    max-width: 1100px;
    font-family:'ãƒ¡ã‚¤ãƒªã‚ª', Meiryo, 'ãƒ’ãƒ©ã‚®ãƒŽè§’ã‚´ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif !important;
    background-repeat: repeat-y;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.background-main {
    max-width: 1100px;
    text-align: center;
/*    background: linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)), url(../images/bg.png);*/
    background-image: url(../images/bg-fixed.png);
    /*background-position: center top 1000px;*/
    background-size: 100%;
    background-repeat: round;
    margin: 0 auto;
}
.background-header{
    max-width: 1100px;
    text-align: center;
    background-image: url(../images/bg_header.png);
    background-size: 100%;
    background-repeat: no-repeat;
    height: auto;
    margin: 0 auto;
    padding-bottom: 2em;
}
header {
	padding: 0;
	margin: 0 auto;
	/*margin-bottom: 30px;*/
	max-width: 1279px;
}
section {
    position: relative;
    display: inline-block;
/*	padding: 0 30px 0 30px;*/
	margin: 0 auto;
	max-width: 1100px;
	margin-bottom: 25px;
}

.item_image{
    padding-top: 5px;
    width: 100%;
}
.item_image2{
  margin-top: 35px;
  width: 60.8195%;
}
.item_image3{
    padding-top: 65px;
    width: 80.5%;
}
.item_image4{
    margin: 0 auto;
    padding-top: 95px;
    width: 99.8195%;
    display: block;
    height: auto;
}
.title-image{
  width: 100%;
  margin-top: 5em;
}

.text-nav{
  font-size: 1.3em;
  color: #fff;
  margin-top: 0.5em;
  padding-bottom: 3em;
}
.text-nav a{
  color: #fff;
  font-weight: bold;
}
.text-nav a:hover{
  color: #0000EE;
}
.button-wrapper {
    position: relative;
    width: 100%;
    margin: auto;
}
.btn_desc{
    max-width: 100%;
    width: 28vw;
    position: absolute;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.icon-wrapper {
    position: relative;
    width: 100%;
    margin: auto;
    height: 12vw;
}

.icon-instagram, .icon-x{
    max-width: 90px;
    width: 8vw;
    position: absolute;
    top: 60%;
    left: 35%;
    transform: translate(-50%, -50%);
}
.icon-instagram:hover{
    opacity: 0.8;
}
.icon-x{
    left: 65%;
}
.icon-x:hover{
    opacity: 0.5;
}
.icon-grid {
    list-style: none;
    position: absolute;
    top: 40%; 
    left: 48%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 80px;
}
.icon {
    height: auto;
    width: 14em;
    object-fit: cover;
    text-align: center;
    height: auto;
}
.icon:hover{
    opacity: 0.8;
}
.image-text-overlay {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 900px; 
}

.image-text-overlay img {
  width: 100%;
  display: block;
}

.text-term {
	font-family: kozuka-gothic-pr6n, sans-serif;
    font-style: normal;
    font-weight: 400;	
	transform: scale(0.9, 1);
	text-align: left;
	position: absolute;
	top: 4.5em;
	left: 0;
	padding: 40px;
	color: #7D7D7D;
	font-size: 21.4px;
	width: 100%;
	/*  height: 100%;*/
	box-sizing: border-box;
	list-style: none;
	line-height: 1.4;
	letter-spacing: 0.07em;
}
li{
  margin-left: 1.4em;
  text-indent: -1.4em;
}
.title-term{
    font-weight: bold;
    font-size: 25px;  
}  

.btn_image,.btn_image_top{
    width: 40%; 
}
.btn_image{
    margin-top: 6rem;
}
.btn_image:focus{
    outline: none;
}
.btn_image:hover,
.btn_image_top:hover, 
.btn_desc:hover {
    opacity: 0.8;
}
.btn_image_top{
    margin-top: 3rem;
}

h1, h2, h3, h4 {
	padding: 0;
	margin: 0 auto;
}

.items li {
    display: inline;
	padding: 20px 0 20px 0;
	margin: 0;
	max-width: 600px;
}

.tag{
    color: white;
    padding-bottom: 10px;
}

.sp {
	margin: 0 auto;
	padding: 0;
}

.contact p{
  margin-top: 3vw;
}

@media screen and  (max-width: 1280px) and (min-width: 768px){
    html, body {
      overflow-x: hidden;
    }
    .background {
        max-width: 1100px;
        text-align: center;
        background-image: url(../images/bg.png);
        /*background-position: center top 1000px;*/
        background-size: 101.8%;
        background-repeat: repeat;
        /*height: 9450px;*/
        margin: 0 auto 0 auto; /* ページ全体の表示位置（IE以外のモダンブラウザ向け） */
    }
    .background-header{
        height: auto;
    }   
    .item_image{
        padding-top: 5px;
        width: 100%;
    }
    .item_image2{
        margin-top: 15px;
        width: 95%;
      padding-bottom: 2em;
    }  
    .icon-x {
        width: 7%;
    }
    .icon-grid{
        left: 50%;
        gap: 20px;
    }
    .icon{
        width: 11em;
    }
	.image-text-overlay{
		max-width: 700px;
	}	
	.text-term {
		top: 5.5em;
		padding: 0px;
		font-size: 17.2px;
	}	
}

/*@media screen and (max-width:1280px) {/*1280*/
@media (max-width: 767px)  {
/*
    * {
  outline: 1px solid red;  デバッグ用 
}
*/
    html, body {
      overflow-x: hidden;
    }    
	body {
		font-size: 140%;
		font-family: sans-serif;
        margin: 0;
        padding: 0;
        width: 100%
	}
    section {
        padding-top: 0px;
        margin-bottom: 5px;
    }
 
    .background {
        max-width: 1100px;
        width: 100%;
        text-align: center;
        background-size: 100%;
        margin: 0 auto 0 auto;
    }
  
    .background-header{
        height: auto;
    }  
    .title-image{
      margin-top: 0.5em;
    }  

    .item_image{
        width: 100%;
    }
    .item_image2{
        margin-top: 15px;
        width: 95%;
    }
    .item_image3{
        padding-top: 17px;
        width: 95.5%;
    }  
    .item_image4{
        margin: 0 auto;
        padding-top: 45px;
        width: 99.8195%;
        display: block;
    }    
    .btn_image{
/*        padding-top: 0px;*/
        width: 50%;
    }
    .btn_image:focus{
        outline: none;
    }    
    .btn_image_top{
      margin-top: 0rem;
      margin-bottom: 0rem;
    }
    .btn_image_middle{
      margin-top: 0.5em;
      width: 60%;
    }
    .btn_desc{
      width: 48vw;
    }
    .icon-wrapper {
        height: 18vw;
    }  
  
    .text-nav{
      font-size: 0.7em;
      color: #fff;
      margin-top: 0.5em;
    }  
    .icon {
        width: 4.3em;
        text-align: center;
        border-radius: 8px;
        font-size: 24px;
    }
    .icon-instagram, .icon-x{
        width: 12vw;
    }

  .image-text-overlay {
      max-width: 350px;
  }  
  .text-term {
    top: 4.5em;
    padding: 0px;
    font-size: 8.7px;
  }
  .title-term {
      font-weight: bold;
      font-size: 10px;
  }  
  
    .row {
        height: 60px;
        gap: 20px; 
    } 
    .items{
        padding-left: 0px;
        margin: 0px !important;
    }
    
    .tag{
        font-size: 0.5em;
        color: white;
        padding-bottom: 10px;
    }
}





