@charset "utf-8";

*, *:before, *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
    -webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
    font-family: 'Noto Sans JP', sans-serif;
    margin: 0;
}
input, button, textarea, select {
	-webkit-appearance: none;
	appearance: none;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
a {
    color: #1a1818;
    text-decoration: none;
}
.nav-item a {
    color: #1a1818;
}
a:hover {
    opacity: 0.7;
}


ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.text-center { 
    text-align: center;
}

.btn,
a.btn,
button.btn {
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 1.4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}


.content{
    max-width: 1250px;
    width:100%;
    margin: 0 auto;
    padding: 3rem 0;
}
.content-inner{
    padding: 0 2.5%;
}

@media screen and (min-width:1250px) {
.content-inner{
    padding: 0 25px;
    }
}

@media screen and (max-width: 768px){
.content{
    padding: 0;
}
}

@media screen and (max-width:480px) {
.content-inner{
    padding: 0 4%;
    }
}


/* パソコンはpc-onlyだけ表示 */
.pc-only {
    display: block;
}
.sp-only {
    display: none;
}
/* スマホはsp-onlyだけ表示 */
@media screen and (max-width: 768px){
    .pc-only {
        display: none;
    }
    .sp-only {
        display: block;
    } 
}



/*========= TITLE ==========*/

.font-weight {
    font-weight: bold;
}

.title-main {
    font-size: 2.6rem;
    font-size: calc(2.4rem + ((1vw - 0.48rem) * 0.5556));
    min-height: 0vw;
    line-height: 1.3;
}
.text {
    font-size: 1.6rem;
    font-size: calc(1.4rem + ((1vw - 0.48rem) * 0.5556));
    min-height: 0vw;
    line-height: 1.4;
}
.read-text {
    font-size: 1.4rem;
    letter-spacing: .05rem;    
}


@media screen and (min-width: 1200px) {
  .title-main {
      font-size: 3.8rem;
  }
  .title-sub {
      font-size: 1.3rem;
  }
  .text {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 768px) {
.read-text {
    font-size: .9rem;
}
}

/* デバイス幅が480px以下 */
@media screen and (max-width: 480px) {
    .title-main {
    font-size: 2rem;
    padding-top: 3rem;
    }
    .title-sub {
    font-size: 1.3rem;
    }
    .c-text {
    font-size: 1.2rem;
    }
}