@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

/*---------------------------------------
*   基本のstyleの指定
*---------------------------------------*/
body {
  color: #FFF;
  line-height: 1.8;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", sans-serif;
}
body * {
  box-sizing: border-box;
}

ul {
  list-style: none;
}

li {
  list-style: none;
}

a {
  color: #FFF;
  text-decoration: none;
}

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

p {
  margin-bottom: 1.5em;
  color: #FFF;
}
p:last-of-type {
  margin-bottom: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  color: #FFF;
}

/*---------------------------------------
*   media_query
*---------------------------------------*/
/*---------------------------------------
*   breake point
*---------------------------------------*/ /*---------------------------------------
*   .blContainer(共通)
*---------------------------------------*/
.blContainer {
  max-width: 1280px;
  width: 92%;
  margin-right: auto;
  margin-left: auto;
}

/*----------------------------------------
    Variables
----------------------------------------*/
:root {
  --red: #FF2A2A;
  --gray: #E8E8E8;
  --light_blue: #E9F1FB;
  --light_green: #6CEB78;
  --light-gray: #EEEEEE;
  --brown: #9a0413;
  --black: #333333;
  --white: #FFFFFF;
}

html {
  scroll-behavior: smooth;
}

/*----------------------------------------
    ヘッダー
----------------------------------------*/
.header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0;
  background: linear-gradient(to left, #258DBD, #99DDEF, #248BBC);
}
@media screen and (max-width: 1024px) {
  .header {
    display: none;
  }
}
.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header__logoWrap {
  width: 200px;
}
.header__logo {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.header__navList {
  display: flex;
  gap: 30px;
}

/*----------------------------------------
    背景
----------------------------------------*/
.background {
  background-color: #102A44;
}

/*----------------------------------------
    ファーストビュー
----------------------------------------*/
.fv {
  width: 100%;
  position: relative;
}
.fv__imgWrap {
  width: 100%;
}
.fv__img {
  width: 100%;
  height: 650px;
  -o-object-fit: cover;
     object-fit: cover;
}
.fv__catchWrap {
  display: none;
}
@media screen and (max-width: 1024px) {
  .fv__catchWrap {
    display: none;
    position: absolute;
    bottom: 12svh;
    left: 50px;
    white-space: normal;
  }
}
@media screen and (max-width: 480px) {
  .fv__catchWrap {
    bottom: 150px;
    left: 100px;
    white-space: nowrap;
  }
}
.fv__catch {
  line-height: 1.3;
  font-size: 2em;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .fv__catch {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 480px) {
  .fv__catch {
    font-size: 1.125rem;
  }
}
.fv__spLogoWrap {
  display: none;
}
@media screen and (max-width: 1024px) {
  .fv__spLogoWrap {
    width: 400px;
    display: block;
    position: absolute;
    top: 15%;
    left: 50%;
    transform: translate(-50%);
  }
}
@media screen and (max-width: 480px) {
  .fv__spLogoWrap {
    width: 300px;
    top: 20%;
  }
}
.fv__spLogo {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*----------------------------------------
    SPナビ
----------------------------------------*/
.spNav {
  display: none;
  background: linear-gradient(to left, #258DBD, #99DDEF, #248BBC);
}
@media screen and (max-width: 1024px) {
  .spNav {
    display: block;
  }
}
.spNav__wrap {
  padding-top: 30px;
  padding-bottom: 30px;
}
.spNav__inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  place-content: center;
  place-items: center;
  row-gap: 30px;
}
@media screen and (max-width: 767px) {
  .spNav__inner {
    -moz-column-gap: 5px;
         column-gap: 5px;
  }
}
@media screen and (max-width: 575px) {
  .spNav__inner {
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
}
.spNav__item {
  display: block;
  width: 250px;
  margin: 0 auto;
  text-align: center;
  padding: 20px 20px;
  border-radius: 20px;
  background: linear-gradient(to left, #007ACC, #003D66);
}
@media screen and (max-width: 767px) {
  .spNav__item {
    width: 200px;
  }
}
@media screen and (max-width: 480px) {
  .spNav__item {
    width: 150px;
    padding: 10px 15px;
    font-size: 0.75rem;
  }
}

/*----------------------------------------
    キャッチ
----------------------------------------*/
.catch__wrap {
  text-align: center;
  padding-top: 50px;
  padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .catch__wrap {
    padding: 50px;
  }
}
.catch__catch {
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--white);
  line-height: 1.4;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 1024px) {
  .catch__catch {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .catch__catch {
    font-size: 1rem;
  }
}
@media screen and (max-width: 575px) {
  .catch__catch {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 480px) {
  .catch__catch {
    font-size: 0.75rem;
  }
}
.catch__break1 {
  display: none;
}
@media screen and (max-width: 767px) {
  .catch__break1 {
    display: block;
  }
}
.catch__break2 {
  display: none;
}
@media screen and (max-width: 480px) {
  .catch__break2 {
    display: block;
  }
}

/*----------------------------------------
    YouTube
----------------------------------------*/
.youTube {
  margin-bottom: 100px;
}
.youTube__titleWrap {
  margin-bottom: 50px;
}
.youTube__titleInner {
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 480px) {
  .youTube__titleInner {
    flex-direction: column-reverse;
    gap: 0;
  }
}
.youTube__title {
  font-size: 1.5rem;
  font-weight: bold;
}
.youTube__subTitle {
  font-size: 1.25rem;
  font-weight: bold;
}
.youTube__imgWrap {
  width: 60%;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .youTube__imgWrap {
    width: 92%;
    margin: 0 auto 50px;
  }
}
@media screen and (max-width: 575px) {
  .youTube__imgWrap {
    margin-bottom: 30px;
  }
}
.youTube__img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.youTube__textWrap {
  margin-bottom: 70px;
}
.youTube__text {
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .youTube__text {
    font-size: 0.875rem;
  }
}
.youTube__btn {
  display: block;
  width: 200px;
  margin: 0 auto;
  text-align: center;
  padding: 10px 20px;
  border-radius: 20px;
  background: linear-gradient(to left, #007ACC, #003D66);
}

/*----------------------------------------
    banner
----------------------------------------*/
.banner {
  margin-bottom: 100px;
}
.banner__wrap {
  width: 100vh;
}
.banner__img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*----------------------------------------
    community
----------------------------------------*/
.community {
  margin-bottom: 100px;
}
.community__title {
  font-size: 1.5rem;
  font-weight: bold;
}
.community__subTitle {
  font-size: 1.25rem;
  font-weight: bold;
}
.community__text {
  text-align: center;
  font-size: 2rem;
}

/*----------------------------------------
    column
----------------------------------------*/
.column {
  padding-bottom: 100px;
}
.column__titleWrap {
  margin-top: 50px;
  margin-bottom: 50px;
}
.column__title {
  font-size: 1.5rem;
  font-weight: bold;
}
.column__subTitle {
  font-size: 1.25rem;
  font-weight: bold;
}
.column__contentsWrap {
  display: grid;
  grid-template-columns: 30% 30% 30%;
  justify-content: center;
  gap: 30px;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .column__contentsWrap {
    grid-template-columns: 90%;
  }
}
.column__linkCardWrap {
  border: 1px solid var(--white);
  border-radius: 20px;
  box-shadow: 5px 5px 10px var(--white);
}
.column__linkCardWrap:hover {
  transform: scale(1.02);
  transition: all ease 0.3s;
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .column__linkCardWrap:hover {
    transform: scale(1);
    transition: none;
    opacity: 1;
  }
}
.column__thumbnailWrap {
  margin-bottom: 20px;
  padding: 20px 5px 0px 5px;
  border-radius: 10px;
  height: 200px;
  display: grid;
  place-content: center;
}
@media screen and (max-width: 767px) {
  .column__thumbnailWrap {
    width: 92%;
    margin: 20px auto 20px;
    aspect-ratio: 16/9;
    overflow: hidden;
  }
}
@media screen and (max-width: 480px) {
  .column__thumbnailWrap {
    margin-top: 0px;
    margin-bottom: 0px;
    padding-bottom: 0px;
  }
}
.column__thumbnail {
  width: 100%;
  height: 200px;
  border-radius: 10px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .column__thumbnail {
    height: auto;
  }
}
@media screen and (max-width: 480px) {
  .column__thumbnail {
    max-height: 100%;
  }
}
.column__textWrap {
  padding: 10px;
  display: flex;
  flex-direction: column;
}
.column__cardTitle {
  margin-bottom: 10px;
  font-size: 0.875rem;
  font-weight: bold;
}
.column__textWrap > p {
  font-size: 0.75rem;
}
.column__btn {
  display: block;
  width: 180px;
  margin: 0 auto;
  text-align: center;
  padding: 10px 20px;
  border-radius: 20px;
  background: linear-gradient(to left, #007ACC, #003D66);
}

/*----------------------------------------
    columnArchive
----------------------------------------*/
.columnArchive {
  padding-top: 50px;
}
.columnArchive__titleWrap {
  margin-bottom: 100px;
  text-align: center;
}
.columnArchive__logoWrap {
  display: block;
  width: 200px;
  margin: 0 auto 30px;
}
.columnArchive__logo {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.columnArchive__title {
  margin-bottom: 50px;
  font-size: 2.5rem;
  font-weight: bold;
  position: relative;
}
.columnArchive__btn {
  display: block;
  width: 200px;
  margin: 0 auto;
  text-align: center;
  padding: 10px 20px;
  border-radius: 20px;
  background: linear-gradient(to left, #007ACC, #003D66);
}
.columnArchive__wrapper {
  margin-bottom: 50px;
}
.columnArchive__contentsWrap {
  display: grid;
  grid-template-columns: 30% 30% 30%;
  justify-content: center;
  gap: 30px;
}
@media screen and (max-width: 1024px) {
  .columnArchive__contentsWrap {
    grid-template-columns: 40% 40%;
  }
}
@media screen and (max-width: 767px) {
  .columnArchive__contentsWrap {
    grid-template-columns: 90%;
  }
}
.columnArchive__linkCardWrap {
  border: 1px solid var(--white);
  border-radius: 20px;
  box-shadow: 5px 5px 10px var(--white);
}
.columnArchive__linkCardWrap:hover {
  transform: scale(1.02);
  transition: all ease 0.3s;
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .columnArchive__linkCardWrap:hover {
    transform: scale(1);
    transition: none;
    opacity: 1;
  }
}
.columnArchive__thumbnailWrap {
  margin-bottom: 20px;
  padding: 20px 5px 0px 5px;
  border-radius: 20px;
  aspect-ratio: 16/9;
  overflow: hidden;
  display: grid;
  place-content: center;
}
@media screen and (max-width: 767px) {
  .columnArchive__thumbnailWrap {
    width: 92%;
    margin: 20px auto 20px;
  }
}
@media screen and (max-width: 480px) {
  .columnArchive__thumbnailWrap {
    margin-top: 10px;
    margin-bottom: 0px;
    padding-top: 0px;
  }
}
.columnArchive__thumbnail {
  height: 100%;
  border-radius: 10px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 480px) {
  .columnArchive__thumbnail {
    width: 100%;
    height: 100%;
  }
}
.columnArchive__textWrap {
  padding: 10px;
  display: flex;
  flex-direction: column;
}
.columnArchive__cardTitle {
  margin-bottom: 10px;
  font-size: 0.875rem;
  font-weight: bold;
}
.columnArchive__textWrap > p {
  font-size: 0.75rem;
}

.page-numbers {
  padding: 10px;
  border-radius: 3px;
  background: #3D92E6;
}
.page-numbers:hover {
  transition: all ease 0.3s;
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .page-numbers:hover {
    transition: none;
    opacity: 1;
  }
}

.current {
  background: #ffffff;
  color: var(--black);
}

/*----------------------------------------
    ブログ記事ページ
----------------------------------------*/
.single {
  margin-top: 0px;
  background: var(--white);
}
.single__wrapper {
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
}
.single__title {
  margin-top: 80px;
  text-align: center;
  margin-bottom: 80px;
  font-size: 2rem;
  font-weight: bold;
  position: relative;
  color: #333333;
}
.single__title::after {
  content: "";
  width: 150px;
  height: 4px;
  position: absolute;
  bottom: -20px;
  right: 50%;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 3px;
  background: linear-gradient(to left, #258DBD, #99DDEF, #248BBC);
}
@media screen and (max-width: 767px) {
  .single__title::after {
    left: 0;
    transform: translateX(0%);
  }
}
@media screen and (max-width: 767px) {
  .single__title {
    display: inline-block;
    margin-top: 50px;
    margin-bottom: 50px;
    text-align: left;
    font-size: 1.25rem;
  }
}
.single__dateWrap {
  display: flex;
  gap: 30px;
  margin-bottom: 20px;
}
.single__postDate {
  font-size: 0.875rem;
  color: #333333;
}
.single__upDate {
  font-size: 0.875rem;
  color: #6CB4EE;
  opacity: 0.8;
}
.single__thumbnailWrap {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  position: relative;
  margin: 0 auto 50px;
  border-radius: 20px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .single__thumbnailWrap {
    height: auto;
    padding-top: 0;
    max-height: none;
  }
}
.single__thumbnail {
  width: 100%;
  height: 100%;
  border-radius: 20px;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .single__thumbnail {
    width: 100%;
    position: relative;
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .single__thumbnail {
    height: auto;
  }
}
.single__content {
  max-width: 900px;
  margin: 0 auto 30px;
  color: #333333;
}
.single__content > h1 {
  margin-bottom: 1.5em;
  font-size: 2rem;
  padding: 0.5em; /*文字周りの余白*/
  color: #333333; /*文字色*/
  background: #eaf3ff; /*背景色*/
  border-bottom: solid 3px #516ab6; /*下線*/
}
.single__content > h2 {
  width: 95%;
  margin: 0 auto 30px;
  font-size: 1.5rem;
  font-weight: bold;
  color: #333333;
  border-bottom: solid 3px #516ab6;
  position: relative;
}
.single__content > h2::after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #516ab6;
  bottom: -3px;
  width: 20%;
}
.single__content > h3 {
  width: 95%;
  margin: 0 auto 30px;
  color: #333333;
  position: relative;
  padding-left: 1.2em; /*アイコン分のスペース*/
  line-height: 1.4;
  font-size: 1.125rem;
}
.single__content > h3::before {
  font-family: "Font Awesome 5 Free";
  content: "\f00c"; /*アイコンのユニコード*/
  font-weight: 900;
  position: absolute;
  font-size: 1em;
  left: 0;
  top: 0;
  color: #5ab9ff; /*アイコン色*/
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .single__content > h3 {
    font-size: 1.0625rem;
  }
}
.single__content > h4 {
  width: 95%;
  text-align: left;
  font-size: 1rem;
  font-weight: 400;
  margin: 0 auto 1em;
  border-bottom: 1px solid var(--main_blue);
  color: #333333;
}
@media screen and (max-width: 767px) {
  .single__content > h4 {
    font-size: 0.9375rem;
  }
}
.single__content > p, .single__content > a, .single__content > figure, .single__content > ul, .single__content > ol, .single__content > li, .single__content > span, .single__content > div {
  width: 92%;
  margin-right: auto;
  margin-left: auto;
  padding-left: 10px;
  font-size: 0.9375rem;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .single__content > p, .single__content > a, .single__content > figure, .single__content > ul, .single__content > ol, .single__content > li, .single__content > span, .single__content > div {
    font-size: 0.875rem;
  }
}
.single__content > a, .single__content > p > a {
  color: #333333;
  text-decoration: underline;
}

.single__content img {
  max-width: 100%;
  height: auto;
  display: block;
}

.single__content figure,
.single__content img {
  margin: 1.5em auto;
}

/* ワイド/全幅の動作（align-wide/align-full） */
.single__content .alignwide {
  max-width: 100%;
  width: 92%;
  margin-left: auto;
  margin-right: auto;
}

.single__content .alignfull {
  width: 100vw;
  margin-left: 50%;
  transform: translateX(-50%);
}

/*----------------------------------------
    他の記事もどうぞ
----------------------------------------*/
.otherPost {
  padding-top: 20px;
  padding-bottom: 30px;
  background: linear-gradient(to left, #258DBD, #99DDEF, #248BBC);
}
.otherPost__catch {
  margin-bottom: 30px;
  text-align: center;
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .otherPost__catch {
    font-size: 0.875rem;
  }
}
.otherPost__contentsWrap {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 100px;
}
@media screen and (max-width: 1024px) {
  .otherPost__contentsWrap {
    gap: 20px;
  }
}
.otherPost__linkWrap {
  width: 30%;
  display: flex;
  flex-direction: column;
  border-radius: 10px;
  outline: 2px solid transparent;
  background: var(--white);
  box-shadow: 2px 2px 2px 3px #b9b9b9;
}
@media screen and (max-width: 1024px) {
  .otherPost__linkWrap {
    width: 50%;
  }
}
.otherPost__linkWrap:hover {
  transform: scale(0.99);
  outline: 2px solid var(--gray);
  transition: all ease 0.3s;
  box-shadow: none;
}
@media screen and (max-width: 1024px) {
  .otherPost__linkWrap:hover {
    transform: scale(1);
  }
}
.otherPost__imgWrap {
  width: 100%;
  height: 70%;
  margin-bottom: 30px;
  border-radius: 10px;
}
@media screen and (max-width: 1024px) {
  .otherPost__imgWrap {
    width: 100%;
    height: 70%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 575px) {
  .otherPost__imgWrap {
    margin-bottom: 10px;
  }
}
.otherPost__imgWrapBlogOnly, .otherPost__imgWrapNoticeOnly {
  padding: 10px 10px 0px 10px;
}
.otherPost__img {
  width: 100%;
  height: 100%;
  margin-right: auto;
  margin-left: auto;
  border-radius: 10px;
  -o-object-fit: cover;
     object-fit: cover;
}
.otherPost__articleTitle {
  width: 92%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 10px;
  text-align: center;
  border-top: 2px solid var(--main_green);
  font-size: 0.875rem;
  padding: 15px;
  color: var(--black);
}
@media screen and (max-width: 1200px) {
  .otherPost__articleTitle {
    padding: 5px 5px 5px 10px;
  }
}
@media screen and (max-width: 767px) {
  .otherPost__articleTitle {
    padding: 5px 0px 10px 0px;
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 575px) {
  .otherPost__articleTitle {
    font-size: 0.625rem;
  }
}
@media screen and (max-width: 480px) {
  .otherPost__articleTitle {
    font-size: 0.48rem;
  }
}

.grecaptcha-badge {
  display: none !important;
}

/*----------------------------------------
    お問い合わせフォーム
----------------------------------------*/
.pageContact__headingWrap {
  margin-top: 50px;
  margin-bottom: 50px;
  text-align: center;
  color: var(--black);
}
@media screen and (max-width: 767px) {
  .pageContact__headingWrap {
    margin-bottom: 50px;
  }
}
.pageContact__heading {
  font-size: 2rem;
  font-weight: bold;
  color: var(--black);
}
.pageContact__subHeading {
  font-size: 1.25rem;
  color: var(--black);
}
.pageContact__textWrap {
  text-align: center;
  margin-bottom: 50px;
  color: var(--black);
}
@media screen and (max-width: 767px) {
  .pageContact__textWrap {
    margin-bottom: 30px;
  }
}
.pageContact__text {
  font-size: 0.875rem;
  color: var(--black);
}
@media screen and (max-width: 480px) {
  .pageContact__text {
    text-align: left;
    font-size: 0.8125rem;
  }
}

.form {
  margin-bottom: 100px;
  color: var(--black);
}
.form__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 30px;
  color: var(--black);
}
.form__itemWrap br {
  display: none;
  color: var(--black);
}
.form__itemWrap > p {
  display: grid;
  grid-template-columns: 350px 350px;
  align-items: center;
  border-bottom: 1px solid var(--main_green);
  padding-top: 20px;
  padding-bottom: 10px;
  color: var(--black);
}
@media screen and (max-width: 767px) {
  .form__itemWrap > p {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
}
.form__subject {
  text-align: left;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .form__subject {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 575px) {
  .form__subject {
    margin-right: auto;
    margin-left: 3%;
  }
}
.form__required {
  margin-left: 0.5em;
  font-size: 0.75rem;
  font-weight: normal;
  color: #3D92E6;
}
.form__confirm {
  text-align: center;
  color: var(--black);
}
.form__privacyLink {
  color: #3D92E6;
}
.form__submitWrap {
  margin-top: 20px;
  text-align: center;
}

.wpcf7-list-item-label {
  font-size: 0.8125rem;
}

.wpcf7-select {
  width: 450px;
  padding: 10px;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .wpcf7-select {
    width: 360px;
  }
}
@media screen and (max-width: 767px) {
  .wpcf7-select {
    width: 400px;
  }
}
@media screen and (max-width: 480px) {
  .wpcf7-select {
    width: 300px;
  }
}

.wpcf7-checkbox {
  width: 450px;
}
@media screen and (max-width: 1024px) {
  .wpcf7-checkbox {
    width: 360px;
  }
}
@media screen and (max-width: 767px) {
  .wpcf7-checkbox {
    width: 400px;
  }
}
@media screen and (max-width: 480px) {
  .wpcf7-checkbox {
    width: 300px;
  }
}

.wpcf7-text {
  width: 450px;
  padding: 10px;
}
@media screen and (max-width: 1024px) {
  .wpcf7-text {
    width: 360px;
  }
}
@media screen and (max-width: 767px) {
  .wpcf7-text {
    width: 400px;
  }
}
@media screen and (max-width: 480px) {
  .wpcf7-text {
    width: 300px;
  }
}

.wpcf7-textarea {
  width: 450px;
  height: 350px;
}
@media screen and (max-width: 1024px) {
  .wpcf7-textarea {
    width: 360px;
  }
}
@media screen and (max-width: 767px) {
  .wpcf7-textarea {
    width: 400px;
    height: 300px;
  }
}
@media screen and (max-width: 480px) {
  .wpcf7-textarea {
    width: 300px;
    height: 250px;
  }
}

.wpcf7-form-control-wrap {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
}

.wpcf7-acceptance {
  margin-bottom: 20px;
  color: var(--black);
}

.wpcf7-submit {
  width: 350px;
  padding: 1em 5em;
  border: none;
  color: var(--white);
  background: #3D92E6;
}
@media screen and (max-width: 767px) {
  .wpcf7-submit {
    width: 450px;
  }
}
@media screen and (max-width: 575px) {
  .wpcf7-submit {
    width: 400px;
  }
}
@media screen and (max-width: 480px) {
  .wpcf7-submit {
    width: 300px;
  }
}

.wpcf7-spinner {
  display: none; /* スピナーを非表示にする */
}

/*----------------------------------------
    プライバシー・ポリシー
----------------------------------------*/
.pb {
  margin-top: 50px;
  color: var(--black);
}
.pb__h1, .pb__h2 {
  color: var(--black);
  margin-bottom: 15px;
  border-bottom: 2px solid var(--black);
  padding-bottom: 5px;
  text-align: left;
}
.pb__h1 {
  font-size: 2.5rem;
}
@media screen and (max-width: 767px) {
  .pb__h1 {
    font-size: 2rem;
  }
}
@media screen and (max-width: 575px) {
  .pb__h1 {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 480px) {
  .pb__h1 {
    font-size: 1.25rem;
  }
}
.pb__h2 {
  font-size: 1.8em;
  margin-top: 25px;
  color: var(--black);
}
@media screen and (max-width: 767px) {
  .pb__h2 {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 575px) {
  .pb__h2 {
    font-size: 1rem;
  }
}
@media screen and (max-width: 480px) {
  .pb__h2 {
    font-size: 1rem;
  }
}
.pb__p, .pb__li, .pb__contact-info-p {
  font-size: 1rem;
  color: var(--black);
}
@media screen and (max-width: 767px) {
  .pb__p, .pb__li, .pb__contact-info-p {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 575px) {
  .pb__p, .pb__li, .pb__contact-info-p {
    font-size: 0.8125rem;
  }
}
@media screen and (max-width: 480px) {
  .pb__p, .pb__li, .pb__contact-info-p {
    font-size: 0.75rem;
  }
}
.pb__p {
  margin-bottom: 3em;
  color: var(--black);
}
.pb__ul {
  margin-bottom: 3em;
  padding-left: 20px;
  color: var(--black);
}
.pb__li {
  margin-bottom: 0.5em;
  color: var(--black);
}
.pb__strong {
  font-weight: bold;
  color: var(--black);
}
.pb__contact-info {
  margin-bottom: 100px;
  color: var(--black);
}
.pb__contact-info-p {
  margin-bottom: 0.8em;
  color: var(--black);
}
.pb__a {
  color: #007bff;
  text-decoration: none;
}
.pb__a:hover {
  text-decoration: underline;
  color: var(--black);
}
@media screen and (max-width: 767px) {
  .pb__a:hover {
    text-decoration: none;
  }
}

/*----------------------------------------
    フッター
----------------------------------------*/
.footer {
  margin-top: 100px;
  padding-top: 50px;
  padding-bottom: 20px;
  background: #003F64;
}
.footer__link {
  display: block;
  width: 300px;
  margin: 0 auto 30px;
  text-align: center;
}
.footer__wrap {
  width: 100%;
  margin: 0 auto;
  text-align: center;
}
/*# sourceMappingURL=style.css.map */