@charset "UTF-8";

*, *::before, *::after {
  box-sizing: border-box;
}

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, main, 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 {
  background: transparent;
  border: 0;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}

main, article, aside, details, figcaption, figure, img, video, footer, header, hgroup, menu, nav, section {
  display: block;
}

ul, ol, li {
  list-style: none;
}

a {
  color: inherit;
  margin: 0;
  padding: 0;
  text-decoration: none;
}

sup {
  font-size: 11px;
  vertical-align: top;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

video, img {
  height: auto;
  max-width: 100%;
}

dl {
  column-gap: 10px;
  display: flex;
  font-size: 14px;
  margin-bottom: 30px;
}


hr {
  all: unset;
  background-color: #fff;
  border: none;
  display: block;
  height: 1px;
  margin: 21px 0 clamp(25px, calc(4.651vw + 10.116px), 45px);
  padding: 0;
  width: 100%;
}

body {
  background: #fff;
  color: #000;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: clamp(15.7px, calc(.465vw + 14.212px), 17.7px);
  line-height: 1.7;
}

:root {
  --main-color: #006fc5;
  --margin-center: 0 auto;
  scroll-behavior: smooth;
}

.article {
  position: relative;
}

.article:after {
  background: url(back.jpg);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  height: 100%;
  left: 50%;
  margin: auto;
  position: fixed;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 100%;
  z-index: -1;
}
/* ------------------------------ *
	SNSボタン
 * ------------------------------ */
div.snsWrap {
  padding: 0 0 15px;
}

.social_buttons {
  list-style-type: none;
  margin: 0;
  padding: 0;
  text-align: left;
}

.social_buttons:before, .social_buttons:after {
  clear: both;
  content: "";
  display: table;
}

.social_buttons li {
  float: left;
  font-size: 12px;
  margin-left: 0;
  margin-right: 10px;
}

.social_buttons li:last-child {
  margin-right: 0;
}

.social_buttons li .fb_iframe_widget > span {
  vertical-align: baseline;
}

.social {
  display: flex;
  justify-content: flex-end;
  margin: 0 auto;
  padding: 10px 0 15px;
  width: min(1060px, 90%);
}

.section__main-visual {
  background: url(main.jpg) no-repeat center / cover;
  padding: 75px 0;
}

.main-visual__container {
  background-color: rgba(255, 255, 255, .85);
  padding-bottom: clamp(30px,calc(6.976vw + 7.674px),60px);
}

.title-container {
  margin: 0 auto;
  width: min(800px, 90%);
}

.lead {
  font-weight: bold;
  margin-top: 30px;
}

.section-wrapper {
  background-color: rgba(255, 255, 255, .85);
  margin: 0 auto;
  padding: clamp(40px, calc(10.697vw + 5.767px), 86px) 0;
  width: min(1060px, 90%);
}

.section-wrapper--contact {
  margin: 50px auto;
  padding: 35px 0 clamp(35px, calc(9.302vw + 5.744px), 70px);
}

.section__container {
  margin: 0 auto;
  width: min(800px, 90%);
}

.text {
  margin-bottom: clamp(30px,calc(2.325vw + 22.55px),40px);
  text-indent: 1em;
}

.section-wrapper .section:last-child .section__body {
  margin-bottom: 0;
}

.section__header {
  margin-bottom: clamp(30px,calc(2.325vw + 22.55px),40px);
  text-align: center;
}

.section__body {
  margin-bottom: clamp(60px, calc(13.953vw + 15.813px) ,120px);
}

.section__body--center {
  text-align: center;
}

.section__body .profile:last-child, .section__body .text:last-child {
  margin-bottom: 0;
}

h2 {
  font-size: clamp(21px,calc(1.627vw + 15.791px),28px);
}

h3 {
  font-size: clamp(18px,calc(.698vw + 15.767px),21px);
}

h3 span {
  background-color: var(--main-color);
  border-radius: 30px;
  color: #fff;
  display: inline-block;
  padding: 6px 45px;
}

.sub {
  display: block;
  margin: 10px auto 0;
}

.profile {
  align-items: center;
  background-color: var(--main-color);
  display: flex;
  justify-content: space-between;
  margin: 0 auto clamp(30px,calc(3.488vw + 18.883px),45px);
}

.profile .caption {
  color: #fff;
  padding: clamp(15px, calc(2.325vw + 7.558px), 28px);
  width: 100%;
}

.name {
  font-size: clamp(21px,calc(1.627vw + 15.791px),28px);
  font-weight: bold;
}

.name span {
  font-size: clamp(14px,calc(1.627vw + 8.790px),21px);
  margin-left: 10px;
}

.footer {
  background-color: #fff;
}

.illust {
  margin-bottom: clamp(30px,calc(3.488vw + 18.883px),45px);
}

.illust__caption {
  color: var(--main-color);
  font-size: clamp(15px,calc(.465vw + 13.512px),17px);
  margin-top: 10px;
}

.company {
  font-size: clamp(21px,calc(1.627vw + 15.791px),28px);
  font-weight: bold;
}

.link a {
  color: var(--main-color);
  font-size: clamp(18px,calc(.698vw + 15.767px),21px);
  text-decoration: underline;
  word-break: break-all;
}

@media screen and (max-width: 880px) {
  .profile {
    flex-direction: column-reverse;
    max-width: 100%;
    width: 426px;
  }
}