@charset "UTF-8";
/* --------------------------------

Site Name: [ 汎用scssテンプレート ]
Site URI: [ 汎用scssテンプレート ]
Description: [ 汎用scssテンプレート ]
Version: [ 1.0 ]
Author: gramglan
Author URI: gramglan.work

-------------------------------- */
/* SITE COLOR */
/*
mixin
*/
/* --------------------------------
MIXIN
- gramglan
-------------------------------- */
/* SETTING */
/* mixin */
/* --------------------------------
汎用MIXIN
-------------------------------- */
/* margin padding 0指定 */
/* BOX-SIZING */
/* 透過 */
/* hover処理 */
/* 画像のhover処理 */
/* 吹き出し
@include arrow(#ccc, 10, 30%);
*/
/* SNS COLOR */
/* alpha base color */
/*
gradient
@include gradient(#ff00ff, #ff00cc, vertical);
*/
/* --------------------------------
サポートブラウザの設定
-------------------------------- */
/* ベンダープレフィックス */
/* --------------------------------
clearfix
-------------------------------- */
/* --------------------------------
FONT STYLE
-------------------------------- */
/* font-family
@include font__noto;
*/
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");
/* width設定 */
/*
	base padding
*/
/*
	base margin
*/
/*
	flexbox
*/
/*
	absolute
	@include absolute(0,0,0,0);
	@include absolute($t:0,$r:0, $b:0,$l:0);
*/
/* --------------------------------
MEDIA QUERY

@include mq(){}

'xsmall': 320px,
'small' : 600px,
'medium': 768px,
'large' : 1024px,
'xlarge': 1280px,

@include or(){};

'p': 'portrait',
'l': 'landscape',

-------------------------------- */
/* --------------------------------
角丸設定
-------------------------------- */
/* 基本設定 */
/* --------------------------------
MIXIN
- gramglan


MEDIA QUERY

@include mq(){}

'xsmall': 320px,
'small' : 600px,
'medium': 768px,
'large' : 1024px,
'xlarge': 1280px,

@include or(){};

'p': 'portrait',
'l': 'landscape',

-------------------------------- */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  margin: 0;
  padding: 0;
  font-family: "Noto Sans Japanese", sans-serif;
  font-size: 16px;
  font-size: 5vw;
  color: #333;
}
@media screen and (min-width: 768px) {
  body {
    font-size: 16px;
    font-size: 1rem;
  }
}

a {
  text-decoration: none;
}
a:hover {
  outline: none;
  border: none;
}

img {
  vertical-align: bottom;
  max-width: 100%;
}

ul, li, dl, dt, dd, ol, p, h1, h2, h3, h4, h5, h6, p, figure, figcaption, input, textarea {
  margin: 0;
  padding: 0;
  list-style: none;
}

ul:after, ol:after {
  *zoom: 1;
}
ul:after:after, ol:after:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

/* --------------------------------
MIXIN
- gramglan


MEDIA QUERY

@include mq(){}

'xsmall': 320px,
'small' : 600px,
'medium': 768px,
'large' : 1024px,
'xlarge': 1280px,

@include or(){};

'p': 'portrait',
'l': 'landscape',

-------------------------------- */
/* 横幅指定 */
.mod__wrap {
  width: 100%;
  position: relative;
}
@media screen and (min-width: 768px) {
  .mod__wrap {
    margin: 0 auto;
    width: 100%;
  }
}
@media screen and (min-width: 768px) and (min-width: 0px) {
  .mod__wrap {
    width: 100%;
  }
}
@media screen and (min-width: 768px) and (min-width: 600px) {
  .mod__wrap {
    width: 100%;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .mod__wrap {
    width: 100%;
  }
}
@media screen and (min-width: 768px) and (min-width: 1024px) {
  .mod__wrap {
    max-width: 1000px;
  }
}
@media screen and (min-width: 768px) and (min-width: 1280px) {
  .mod__wrap {
    max-width: 1000px;
  }
}

.mod__flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  /* reverse setting */
}
.mod__flex .mod__flex__item {
  width: 100%;
}
.mod__flex .mod__flex__item.-w20 {
  width: 50%;
}
@media screen and (min-width: 768px) {
  .mod__flex .mod__flex__item.-w10 {
    width: 10%;
  }
  .mod__flex .mod__flex__item.-w20 {
    width: 20%;
  }
  .mod__flex .mod__flex__item.-w25 {
    width: 24%;
  }
  .mod__flex .mod__flex__item.-w30 {
    width: 30%;
  }
  .mod__flex .mod__flex__item.-w40 {
    width: 40%;
  }
  .mod__flex .mod__flex__item.-w50 {
    width: 50%;
  }
  .mod__flex .mod__flex__item.-w60 {
    width: 60%;
  }
  .mod__flex .mod__flex__item.-w70 {
    width: 70%;
  }
  .mod__flex .mod__flex__item.-w80 {
    width: 80%;
  }
  .mod__flex .mod__flex__item.-w90 {
    width: 90%;
  }
  .mod__flex .mod__flex__item.-w100 {
    width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .mod__flex .mod__flex__item {
    padding: 0 0 0 0;
  }
}
@media screen and (min-width: 1024px) and (min-width: 768px) {
  .mod__flex .mod__flex__item {
    padding: 0 0 0 0;
  }
}
@media screen and (min-width: 1024px) {
  .mod__flex .mod__flex__item.-flex {
    -ms-flex: 1; /*IE10*/
    -webkit-box-flex: 1; /* Android4.3以下、Safari3.1〜6.0 */
    -webkit-flex: 1; /* Safari6.1以降 */
  }
  .mod__flex .mod__flex__item.-w10 {
    width: 10%;
  }
  .mod__flex .mod__flex__item.-w20 {
    width: 20%;
  }
  .mod__flex .mod__flex__item.-w25 {
    width: 24%;
  }
  .mod__flex .mod__flex__item.-w30 {
    width: 30%;
  }
  .mod__flex .mod__flex__item.-w40 {
    width: 40%;
  }
  .mod__flex .mod__flex__item.-w50 {
    width: 50%;
  }
  .mod__flex .mod__flex__item.-w60 {
    width: 60%;
  }
  .mod__flex .mod__flex__item.-w70 {
    width: 70%;
  }
  .mod__flex .mod__flex__item.-w80 {
    width: 80%;
  }
  .mod__flex .mod__flex__item.-w90 {
    width: 90%;
  }
  .mod__flex .mod__flex__item.-w100 {
    width: 100%;
  }
}
.mod__flex .mod__flex__item.-full {
  width: 100%;
}
.mod__flex.-just_around {
  -ms-flex-pack: justify; /*IE10*/
  -webkit-box-pack: justify; /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: space-around; /* Safari6.1以降 */
  justify-content: space-around;
}
.mod__flex.-just_center {
  -ms-flex-pack: justify; /*IE10*/
  -webkit-box-pack: justify; /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: center; /* Safari6.1以降 */
  justify-content: center;
}
.mod__flex.-just_between {
  -ms-flex-pack: justify; /*IE10*/
  -webkit-box-pack: justify; /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: space-between; /* Safari6.1以降 */
  justify-content: space-between;
}
.mod__flex.-rev_all {
  flex-flow: row-reverse wrap;
  -ms-flex-flow: row-reverse wrap;
  -webkit-flow: row-reverse wrap;
}
@media screen and (min-width: 768px) {
  .mod__flex.-rev {
    flex-flow: row-reverse wrap;
    -ms-flex-flow: row-reverse wrap;
    -webkit-flow: row-reverse wrap;
  }
}

/* JS用 */
/* 各ページ */
/* --------------------------------
HEADER
- gramglan

MEDIA QUERY

@include mq(){}

'xsmall': 320px,
'small' : 600px,
'medium': 768px,
'large' : 1024px,
'xlarge': 1280px,

@include or(){};

'p': 'portrait',
'l': 'landscape',

-------------------------------- */
/* body add class*/
.__sp {
  display: block;
}
@media screen and (min-width: 768px) {
  .__sp {
    display: none;
  }
}

.__pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .__pc {
    display: block;
  }
}

.contact {
  background: #f7f7f7;
  padding: 24px;
}
.contact_title {
  text-align: center;
  color: #1D9EA4;
  padding-bottom: 32px;
}
.contact_title strong {
  font-size: 48px;
  font-size: 15vw;
}
@media screen and (min-width: 768px) {
  .contact_title strong {
    font-size: 48px;
    font-size: 3rem;
  }
}
.contact_title h2 {
  font-weight: normal;
  font-size: 15px;
  font-size: 4.6875vw;
}
@media screen and (min-width: 768px) {
  .contact_title h2 {
    font-size: 15px;
    font-size: 0.9375rem;
  }
}
.contact_detail {
  font-size: 14px;
  font-size: 4.375vw;
  padding: 16px 0;
}
@media screen and (min-width: 768px) {
  .contact_detail {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 768px) {
  .contact_detail {
    padding: 32px;
    font-size: 15px;
    font-size: 4.6875vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .contact_detail {
    font-size: 15px;
    font-size: 0.9375rem;
  }
}
.contact_detail input, .contact_detail select, .contact_detail textarea {
  padding: 12px;
  border: 1px solid #ddd;
  box-sizing: border-box;
  font-size: 15px;
  font-size: 4.6875vw;
  outline: none;
  width: 100%;
  border-radius: 4px;
}
@media screen and (min-width: 768px) {
  .contact_detail input, .contact_detail select, .contact_detail textarea {
    font-size: 15px;
    font-size: 0.9375rem;
  }
}
.contact_detail input[type=submit] {
  border: none;
  border-radius: 46px;
  max-width: 300px;
  margin: 0 auto;
  display: block;
  font-size: 20px;
  font-size: 6.25vw;
}
@media screen and (min-width: 768px) {
  .contact_detail input[type=submit] {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.contact_detail input[type=checkbox] {
  width: auto;
}
.contact_detail label {
  padding: 8px;
  display: block;
  font-size: 13px;
  font-size: 4.0625vw;
}
@media screen and (min-width: 768px) {
  .contact_detail label {
    font-size: 13px;
    font-size: 0.8125rem;
  }
}
@media screen and (min-width: 768px) {
  .contact_detail label {
    font-size: 15px;
    font-size: 4.6875vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .contact_detail label {
    font-size: 15px;
    font-size: 0.9375rem;
  }
}
.contact_detail dt {
  display: block;
  padding-bottom: 8px;
}
.contact_detail dt small {
  color: red;
}
.contact_detail dd {
  padding-bottom: 24px;
}
.contact .m-0 {
  padding-bottom: 8px;
  color: #333;
  text-align: center;
}
.contact .privacy_box {
  font-size: 11px;
  border: 1px solid #ddd;
  background: #f7f7f7;
  color: #333;
  padding: 12px;
  height: 180px;
  overflow: auto;
}
@media screen and (min-width: 768px) {
  .contact .privacy_box {
    height: 350px;
    padding: 24px;
    overflow: auto;
  }
}
.contact .contactbg {
  background: #fff;
  border-radius: 16px;
  padding: 24px;
}
@media screen and (min-width: 768px) {
  .contact .contactbg {
    width: 700px;
    margin: 0 auto;
  }
}


/* btn_cv */
.btn_cv {
  background: linear-gradient(270deg, #DE1F86 0%, rgba(222, 31, 134, 0) 100%), #F5236F;
  border-radius: 80px;
  padding: 12px 24px;
  color: #fff;
  display: inline-block;
  font-size: 15px;
  font-size: 4.6875vw;
}
@media screen and (min-width: 768px) {
  .btn_cv {
    font-size: 15px;
    font-size: 0.9375rem;
  }
}
@media screen and (min-width: 768px) {
  .btn_cv {
    padding: 12px 48px;
    font-size: 18px;
    font-size: 5.625vw;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .btn_cv {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
