/***************/

/* 1. 主要なタグ

****************/


/* 基本 */
html, body {
  color: #333;
  margin: 0;
  font-size: 16px;
  font-family: 'Avenir','Helvetica Neue','Helvetica','Arial','Hiragino Sans','ヒラギノ角ゴシック','Noto Sans JP','メイリオ',YuGothic,'Yu Gothic', Meiryo,'ＭＳ Ｐゴシック','MS PGothic';
  background: #f9f9f9;
  vertical-align : baseline;
}

a {
  color: #1588a0;
}

/*******************/

/* 2. サイトの骨格

********************/

/* header周り */
header {
  background: #23666d;
}

header img {
  margin: 0 4px 0 20px;
  width: 40px;
  position: relative;
  top: 11px;
}

.header-wrapper {
  box-sizing: border-box; /* これがないとレスポンシブ時にはみ出るので注意 */
  font-size: 1.3em;
  padding: 4px 20px 10px 0;
  width: 925px;
  margin: 0 auto;
}

.header-wrapper a {
  color: white;
  font-weight: bold;
  text-decoration: none;
  display: inline-block;
  padding: 0 0 10px 0;
  margin: 0 0 0 0;
}


/* パンくずリスト周り */
.breadcrumbs {
  box-sizing: border-box;  
  font-weight: bold;
  color: #7a9092;
  max-width: 810px;  
  margin: 0 auto;  
  padding: 10px 40px 10px 20px;
}

.breadcrumbs a {
  color: #7a9092;
  text-decoration: none;
}

/* main wrapper 周り*/
.main-wrapper {
  box-sizing: border-box; /* これがないとレスポンシブ時にはみ出るので注意 */
  max-width: 810px;
  padding: 20px 40px 40px;
  margin: 0 auto;
  background: #ffffff;
}


/* footer周り */
footer {
  background: #f9f9f9;
}

.footer-wrapper {
  box-sizing: border-box; /* これがないとレスポンシブ時にはみ出るので注意 */
  text-align: center;
  font-size: 1.3em;
  padding: 18px 0;
  margin: 0 auto;
}

.footer-wrapper a {
  color: #598186;
  font-weight: bold;
  text-decoration: none;
}

.bottom-end {
  margin-top: 0.5em;
}

.copyright {
  color: #909090;
  font-size: 0.6em;
  /* margin-top: 0; */
}

.terms {
  margin: 0;
  font-size: 0.6em;
}

.terms a {
  color: #909090;
}


/******************/

/* 3. 文字装飾

*******************/


/* 基本タグ*/
h1 {
  font-size: 1.7em;
  text-align: center;
  padding: 0.8em;
}

h2 {
  margin: 1.8em 0 0.8em 0;
  padding: 1px 4px;
  border-bottom: solid 2px #9faaab;
  font-size: 1.4em;
  line-height: 1.7;
}

h3 {
    position: relative;
    padding: 7px 0 7px 16px;
    margin-top: 1.7em;
}

h3:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: #68a9ab;
}

h4 {
  margin: 1.2em 0 0.8em 0;
}

p {
  margin:  0 0 1.2em;
  line-height: 1.8;
}

/* リストデザイン  */
ul, ol {
  margin-bottom: 1.5em;
  padding: 1em 1em 1em 2.5em;
  border: solid 2px #e8e8e8;
  border-radius: 3px;  
}

li {
  padding: 5px 0;
}

/*文字を小さく控えめに表現したいとき*/
.small {
  font-size: 0.9em;
  color: #77716d;
}

/* 文字を青色に */
.blue {
  color: #027ed6;
}


/******************/

/* 4. その他アイコン

*******************/


/*Q&Aアイコン*/
.faq {
  margin: 1.5em 0 3em 0;
  border: solid 2px #e4e4e4;
  padding: 20px 15px 10px;
  border-radius: 2px;
}

p.que::before, p.ans::before {
    content: "Q";
    position: absolute;
    left: 0;
    display: inline-block;
    width: 45px;
    height: 45px;
    line-height: 45px;
    vertical-align: middle;
    text-align: center;
    font-family: Arial,sans-serif;
    font-size: 21px;
    background: #8fc1f1;
    color: #fff;
    border-radius: 50%;  
}
.que, .ans {
  position: relative;
  padding: 0 0 0 55px;
  margin: 0 0 1.8em 0;
}

p.ans::before {
    content: "A";
    background: #f59e9e;   
}




/**********************/

/* 5. Specialページの設定

***********************/


/* flex化するための親要素div */
.dl-wrapper {
  display: flex;
  flex-wrap: wrap;
}


/* 曲タイトル＆DLボタンの1セット */
.dlbox {
  box-sizing: border-box;
  width: 46%;
  padding: 20px 10px 25px;
  margin: 1em 8% 2em 0;
  display: flex;
  flex-direction: column; /* 子要素を縦に並べる */  
  text-align: center; /* 子要素を中央寄せ */
  border: 2px solid #dadada;
  border-radius: 8px;
}

.dlbox:nth-child(even) {
  margin: 1em 0 2em;
}

/* スマホ表示時は1列に */
@media screen and (max-width: 767px) {
  .dlbox, .dlbox:nth-child(even) {
    width: 100%;
    margin: 1em 0 2em;    
  }
}

/* 曲タイトル */
.ttl {
    line-height: 1.4;
    font-size: 1.2em;
    margin-bottom: 0.7em;
    color: #7e8384;
}

/* Downloadボタン */
.dl-btn {
    display: inline-block;
    font-size: 1.1em;
    text-decoration: none;
    color: white;
    background: #6f9a9e;
    border-radius: 4px;
    padding: 6px 10px 4px;
    margin: auto auto 0 auto;    
}


/******************/

/* 6. レスポンシブ設定

*******************/


/* レスポンシブの基本設定*/
@media screen and (max-width: 767px) {
  h1 {
    font-size: 1.5em;
  }
  h2 {
    font-size: 20px;
  }
  h3 {
    font-size: 18px;
  }
  .main-wrapper, .breadcrumbs {
    width: 90%;
    padding: 10px 20px;    
  }
}


/* PC閲覧時のみマウスホバーを有効に */
@media screen and (min-width: 768px) {
  a:hover{
    text-decoration: none;
  }
  /* ヘッダのリンク */
  .header-wrapper a:hover {
    color: #ffeded;
  }
  /* パンくずリストのリンク */
  .breadcrumbs a:hover {
    color: #7a9092;
    text-decoration: underline;
  }
  /* フッタのリンク */
  .footer-wrapper a:hover {
    color: #439aa5;
  }

  /* お問い合わせフォーム・送信ボタン ホバー時 */
  .formrun button:hover {
    cursor: pointer;
  }  
}

/* 背景のスクロール調整 */
@media screen and (max-width: 900px) {
  .main-wrapper, .header-wrapper, .footer-wrapper, .breadcrumbs {
    width: 100%;
  }
}



/******************/

/* 7. お問合せフォーム

*******************/

/* フォントを継承する */
button, input, select, textarea {
  font-family : inherit;
  font-size : 100%;
  line-height: 1.6;
}



/* フォーム全体の親タグ */
.formrun {
  background: #fff;
  padding: 10px 30px 50px;
  border: dotted 1px gray;
  border-radius: 4px;
  margin: 40px 0;
}


/* フォームの各項目のdiv設定 */
.form-wrapper {
  margin: 30px 0 0 0;
}


/* フォームの入力部分の基本デザイン  */
.formbasic {
  background-color: white;
  border-style: solid; /*これがないと枠線の色が反映されない*/
  border-color: #b7b7b7; /*枠線の色*/
  border-width: 1px; /*枠線の太さ*/
  padding: 6px;
  outline: none; /*フォーカスした際の枠線を消す*/
  box-shadow: 1px 1px 2px #b1b1b1;  /*フォームに影を付けて立体的に */
}

/* お問い合わせ内容の領域を広げる */
.text-region {
   padding: 10px 10px 170px;
}

/* フォームにフォーカス時に青い枠をつける */
.formbasic:focus {
  box-shadow: 0 0 0 2px rgb(66 153 225 / 50%);
}

/* 入力項目の見出しのデザイン */
.form-label {
  color: #717171;
  font-size: 0.9em;
  font-weight: bold;
  display: block;
  margin: 0 0 4px 0;  
}

/*入力部の幅*/
.form-width {
  width: 100%;
}

/* 必須 という文字のデザイン */
.must {
  font-size: 0.8em;
  display: inline-block;
  background: #e4e4e4;
  padding: 2px 7px 0 7px;
  margin: 0 11px;
  border-radius: 8px;
}

.flexer {
  display: flex;
  flex-wrap: wrap; /* 未入力エラー時のポップアップを下に追いやるための記述 */
}

/* プライバシーポリシー用のラベル用class */
.privacy-label {
  flex: 1;
  color: gray;
  font-size: 0.8em;
  font-weight: bold;
  display: inline-block;
  margin: 0 0 0 18px;
  min-width: 70%; /* 未入力エラー時のポップアップを下に追いやるための記述 */
}

.privacy-label a {
  color: gray;
}

/*プライバシーポリシーのチェックボックスのcss*/
.privacy-check {
  margin: 0;
  top: 2px;
  position: relative;
  transform:scale(1.3)
}

/* 送信ボタンのデザイン  */
.formrun button {
  margin-top: 30px;
  background-color: #45878e; /* 送信ボタンの色 */
  color: white;
  border-width: 0;
  padding: 8px 30px;
  font-size: 1em;
  font-weight: bold;
  border-radius: 6px;
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
  -webkit-tap-highlight-color: transparent; /* iPhoneのSafariでタップした時の影を消す */
}

/* 送信ボタンを押した際のアクション */
.formrun button:active {
  -webkit-transform: translateY(2px);
  transform: translateY(2px); /*下に動く*/
  box-shadow: none; /* 影を消す */
}

/* フォームに未記入項目がある際のエラー */
.formrun-system-show {
  font-size: 0.8em;
  color: #ea677f;
}

/* 未記入項目があるときに付加されるclassを利用して枠線の色を赤色に */
.formrun-has-error {
  border-color: #fb91a4!important;
}
