@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Anton&family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Neuton:ital,wght@0,200;0,300;0,400;0,700;0,800;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
/* -------------------------------- 

Primary style

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

*::after, *::before {
  content: '';
}

body {
  font-size: 1rem;
  -webkit-text-size-adjust: 100%;
  line-height: 1.7;
  font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  color: #111;
  background-image: url(../img/common/bg.png);
  background-size: cover;
}

a{color:#111; text-decoration: none; transition: all .5s ease; cursor: pointer;}

html{scroll-padding-top:80px;}

.clearfix{clear: both;}


/* -------------------------------- 

margin / padding

-------------------------------- */

.mt5{margin-top: 5px !important}
.mt10{margin-top: 10px !important}
.mt15{margin-top: 15px !important}
.mt20{margin-top: 20px !important}
.mt30{margin-top: 30px !important}
.mt40{margin-top: 40px !important}
.mt50{margin-top: 50px !important}
.mt60{margin-top: 60px !important}
.mt70{margin-top: 70px !important}
.mt80{margin-top: 80px !important}
.mt90{margin-top: 90px !important}
.mt100{margin-top: 100px !important}

.mb5{margin-bottom: 5px !important}
.mb10{margin-bottom: 10px !important}
.mb15{margin-bottom: 15px !important}
.mb20{margin-bottom: 20px !important}
.mb30{margin-bottom: 30px !important}
.mb40{margin-bottom: 40px !important}
.mb50{margin-bottom: 50px !important}
.mb60{margin-bottom: 60px !important}
.mb70{margin-bottom: 70px !important}
.mb80{margin-bottom: 80px !important}
.mb90{margin-bottom: 90px !important}
.mb100{margin-bottom: 100px !important}

.ml5{margin-left: 5px !important}
.ml10{margin-left: 10px !important}
.ml15{margin-left: 15px !important}
.ml20{margin-left: 20px !important}
.ml30{margin-left: 30px !important}
.ml40{margin-left: 40px !important}
.ml50{margin-left: 50px !important}
.ml60{margin-left: 60px !important}
.ml70{margin-left: 70px !important}
.ml80{margin-left: 80px !important}
.ml90{margin-left: 90px !important}
.ml100{margin-left: 100px !important}

.mr5{margin-right: 5px !important}
.mr10{margin-right: 10px !important}
.mr15{margin-right: 15px !important}
.mr20{margin-right: 20px !important}
.mr30{margin-right: 30px !important}
.mr40{margin-right: 40px !important}
.mr50{margin-right: 50px !important}
.mr60{margin-right: 60px !important}
.mr70{margin-right: 70px !important}
.mr80{margin-right: 80px !important}
.mr90{margin-right: 90px !important}
.mr100{margin-right: 100px !important}

.pt5{padding-top: 5px !important}
.pt10{padding-top: 10px !important}
.pt15{padding-top: 15px !important}
.pt20{padding-top: 20px !important}
.pt30{padding-top: 30px !important}
.pt40{padding-top: 40px !important}
.pt50{padding-top: 50px !important}
.pt60{padding-top: 60px !important}
.pt70{padding-top: 70px !important}
.pt80{padding-top: 80px !important}
.pt90{padding-top: 90px !important}
.pt100{padding-top: 100px !important}

.pb5{padding-bottom: 5px !important}
.pb10{padding-bottom: 10px !important}
.pb15{padding-bottom: 15px !important}
.pb20{padding-bottom: 20px !important}
.pb30{padding-bottom: 30px !important}
.pb40{padding-bottom: 40px !important}
.pb50{padding-bottom: 50px !important}
.pb60{padding-bottom: 60px !important}
.pb70{padding-bottom: 70px !important}
.pb80{padding-bottom: 80px !important}
.pb90{padding-bottom: 90px !important}
.pb100{padding-bottom: 100px !important}

.pl5{padding-left: 5px !important}
.pl10{padding-left: 10px !important}
.pl15{padding-left: 15px !important}
.pl20{padding-left: 20px !important}
.pl30{padding-left: 30px !important}
.pl40{padding-left: 40px !important}
.pl50{padding-left: 50px !important}
.pl60{padding-left: 60px !important}
.pl70{padding-left: 70px !important}
.pl80{padding-left: 80px !important}
.pl90{padding-left: 90px !important}
.pl100{padding-left: 100px !important}

.pr5{padding-right: 5px !important}
.pr10{padding-right: 10px !important}
.pr15{padding-right: 15px !important}
.pr20{padding-right: 20px !important}
.pr30{padding-right: 30px !important}
.pr40{padding-right: 40px !important}
.pr50{padding-right: 50px !important}
.pr60{padding-right: 60px !important}
.pr70{padding-right: 70px !important}
.pr80{padding-right: 80px !important}
.pr90{padding-right: 90px !important}
.pr100{padding-right: 100px !important}

.pdg5{padding: 5px;}
.pdg10{padding: 10px;}
.pdg20{padding: 20px;}

.mgn5{margin:5px;}
.mgn10{margin:10px;}
.mgn20{margin:20px;}

/* -------------------------------- 

text

-------------------------------- */

/*--size--*/
.txt-10{font-size: 10px; line-height: 1.7;}
.txt-12{font-size: 12px; line-height: 1.7;}
.txt-14{font-size: 14px; line-height: 1.7;}
.txt-16{font-size: 16px; line-height: 1.7;}
.txt-18{font-size: 18px; line-height: 1.7;}
.txt-20{font-size: 20px; line-height: 1.7;}
.txt-22{font-size: 22px; line-height: 1.7;}
.txt-24{font-size: 24px; line-height: 1.7;}
.txt-26{font-size: 26px; line-height: 1.7;}
.txt-28{font-size: 28px; line-height: 1.7;}
.txt-30{font-size: 30px; line-height: 1.7;}
.txt-32{font-size: 32px; line-height: 1.7;}
.txt-34{font-size: 34px; line-height: 1.7;}
.txt-36{font-size: 36px; line-height: 1.7;}

/*--font--*/
.txt-nomal {font-weight: normal;}
.txt-bold  {font-weight: bold;}

/*--color--*/
.txt-white  {color: #FFFFFF;}
.txt-blue  {color: #4ba5c3;}
.txt-green {color: #64a725;}
.txt-red   {color: #c30d23;}
.txt-pink  {color: #fb1961;}
.txt-gray  {color: #999999;}
.txt-gold {color: #d69711;}
.txt-orange{color: #e18b61;}
/*--align--*/
.al-left{text-align: left;}
.al-center{text-align: center;}
.al-right {text-align: right;}

.alignleft{text-align: left;}
.aligncenter{text-align: center;}
.alignright{text-align: right;}
/* -------------------------------- 

background-color

-------------------------------- */

.bg-white {width:100%; background-color: #FFFFFF;}
.bg-gray {width:100%; background-color: #cccccc;}
.bg-black {width:100%; background-color: #000000; color: #FFFFFF;}
.bg-green {width:100%; background-color: #90c31f; color: #FFFFFF;}
.bg-blue  {width:100%; background-color: #25b5d4; color: #FFFFFF;}
.bg-purple{width:100%; background-color: #945cbe; color: #FFFFFF;}
.bg-red   {width:100%; background-color: #f54d4d; color: #FFFFFF;}
.bg-pink  {width:100%; background-color: #f474bf; color: #FFFFFF;}
.bg-orange{width:100%; background-color: #eda11c; color: #FFFFFF;}
.bg-beige {background-color: #f2ece1;}

/* -------------------------------- 

background-shadow

-------------------------------- */

.bg-shadow_in {box-shadow: 0px 0px 2px 1px rgba(0,0,0,0.2) inset;}
.bg-shadow_out{box-shadow: 0 0px 5px rgba(0, 0, 0, 0.1);}


/* -------------------------------- 

image

-------------------------------- */
.img-fit-left{
  width: 100%;
  border:0;
  margin:0;
  padding: 0;
}

.img-fit-left img{
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

.img-fit{
  width: 100%;
  text-align: center;
  border:0;
  margin:0;
  padding: 0;
}

.img-fit img{
  width: 100%;
  height: auto;
  vertical-align: top;
}

.img-fit-alpha{
  width: 100%;
  text-align: center;
  border:0;
  margin:0;
  padding: 0;
}

.img-fit-alpha img{
  width: 100%;
  height: auto;
  vertical-align: top;
  opacity: 0.5;
}

.img-fit-round{
  width: 100%;
  border-radius: 10px;
  text-align: center;
  border:0;
  margin:0;
  padding: 0;
  overflow: hidden;
}

.img-fit-round img{
  width: 100%;
  height: auto;
  vertical-align: top;
}


/* --------------------------------

pagenation

-------------------------------- */
.nav-links{
  width: 100%;
  margin: 40px 0px;
}

ul.page-numbers{
  font-family: arial;
  font-weight: bold;
  list-style: none;
  text-align: center;
  margin: 30px 0px;
}

ul.page-numbers li{
  display: inline-block;
  margin:0px 5px;
}

ul.page-numbers li a{
  font-size: 1.125rem;
  line-height: 36px;
  width: 36px;
  height: 36px;
  display: block;
  border:1px solid #fff;
  background-color: #fff;
  border-radius: 6px;
}

ul.page-numbers li a:hover{
  color: #83ccd2;
  border:1px solid #83ccd2;
}

ul.page-numbers .current{
  display: block;
  font-size: 1.125rem;
  line-height: 36px;
  width: 36px;
  height: 36px;
  color: #FFF;
  background-color: #83ccd2;
  border-radius: 6px;
}

/* -------------------------------- 

pagetop

-------------------------------- */

.pagetop{
  font-size: 2.5rem;
  color: #83ccd2;
  cursor: pointer;
  position: fixed;
  right: 20px;
  bottom:10px;
  transition: all .5s ease;
  z-index: 3;
}



/* -------------------------------- 

フォーム

-------------------------------- */
input[type="text"] {
  width: 100%;
  display: block;
    font-size: 16px;
    background-color: #fff;
    border: 1px solid #ccc;
    outline: none;
    padding: 10px;
}

input[type="email"] {
  width: 100%;
  display: block;
    font-size: 16px;
    background-color: #fff;
    border: 1px solid #ccc;
    outline: none;
    padding: 10px;
}

input[type="tel"] {
  width: 100%;
  display: block;
    font-size: 16px;
    background-color: #fff;
    border: 1px solid #ccc;
    outline: none;
    padding: 10px;
}

input[type="date"] {
  width: 100%;
    display: block;
    font-size: 16px;
    padding: 12px 10px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #ccc;
    border-radius: 6px;
    background: #ffffff;
    background-size: 20px, 100%;
    margin-right: 10px;
}

input[type="password"] {
  width: 100%;
  display: block;
    font-size: 16px;
    background-color: #fff;
    border: 1px solid #ccc;
    outline: none;
    padding: 10px;
}

select {
  width: 100%;
    display: block;
    font-size: 16px;
    padding: 12px 10px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #ccc;
    border-radius: 6px;
    background: #ffffff;
    background-size: 20px, 100%;
    margin-right: 10px;
}

input[type="checkbox"] {
  position: relative;
  width: 24px;
  height: 24px;
  border: 2px solid #ccc;
  background-color: #FFF;
  vertical-align: -5px;
  margin-right: 10px;
}



textarea {
    width: 100%;
    display: block;
    font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 16px;
    font-weight: normal;
    background-color: #fff;
    border: 1px solid #ccc;
    outline: none;
    padding: 10px;
}


.contact-btn{
  width: 200px;
  display: block;
  font-size: 1rem;
  color: #fff;
  text-align: center;
  background-color: #333;
  border-radius: 6px;
  padding: 15px 0px;
  margin-left: auto;
  margin-right: 0;
  margin-bottom: 30px;
  margin-top: 30px;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  transition: all .5s ease;
}

.contact-btn:hover{
  background-color: #83ccd2;
}

/* CF7チェックボックスとラジオボタンを縦並びに */
span.wpcf7-list-item {
margin-top:5px;
display: block;
}


.fade-in-section {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1s ease-out, transform 1s ease-out;
  will-change: opacity, transform;
}

.fade-in-section.is-visible {
  opacity: 1;
  transform: none;
}
