@charset "UTF-8";
/* A Modern CSS Reset */
*, *::before, *::after {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  line-height: 1;
}

body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin: 0;
}

ul, ol {
  list-style-type: none;
}

html:focus-within {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

img, picture {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

input, button, textarea, select {
  font: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}
/* mixinの定義 */
/* _mixinで定義したものを読み込む際は設定した名称の頭にm.と記述をする */
html {
  font-size: 62.5%;
}

body {
  background-color: #F5F5F5;
}

.wrapper {
  max-width: 1200px;
  padding: 0 20px;
  margin: 0 auto;
}

section {
  text-align: center;
}
section h2 {
  padding: 1rem;
  font-family: "Zen Kaku Gothic New", serif;
  font-weight: 400;
  font-size: 2.4rem;
  color: #777676;
  line-height: 1.5;
  text-align: center;
  text-transform: uppercase;
  font-size: 2.8rem;
  font-weight: 800;
  border-bottom: double 5px #e2941f;
  display: inline-block;
  text-align: justify;
  margin-top: 1.5rem;
  margin-bottom: 10rem;
}

h3 {
  margin-top: 5px;
  font-family: "Zen Kaku Gothic New", serif;
  font-weight: 400;
  font-size: 4rem;
  color: #777676;
  line-height: 1.5;
  margin-bottom: 20px;
}

h4 {
  margin-top: 5px;
  font-family: "Zen Kaku Gothic New", serif;
  font-weight: 400;
  font-size: 4rem;
  color: #777676;
  line-height: 1.5;
  margin-bottom: 20px;
}

p {
  font-family: "Zen Kaku Gothic New", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.6rem;
  color: #222222;
  line-height: 1.5;
  text-align: center;
}

a {
  text-decoration: none;
  color: inherit;
}

section.text_page {
  padding: 2rem 10%;
  text-align: justify;
}
section.text_page h1.page_title {
  font-size: 3.5rem;
  font-weight: 500;
  padding: 20rem 10% 8rem 10%;
}
section.text_page h2.page_title_2 {
  font-size: 3rem;
  font-weight: 500;
  padding: 2rem 10% 1rem 10%;
  border: none;
  text-align: justify;
}
section.text_page p {
  font-size: 1.8rem;
  border: none;
  text-align: justify;
  padding: 0rem 10% 5rem 10%;
}
section.text_page ul li {
  font-size: 1.8rem;
  text-align: justify;
  padding: 0.5rem 10% 0.5rem 10%;
}

.cp_hr01 {
  border-width: 1px 0 0 0;
  border-style: solid;
  border-color: #000000;
  margin-bottom: 40px;
}

.action_area {
  margin-bottom: 60px;
  margin-top: 60px;
}

.cta_btn {
  padding: 1rem 2rem;
  border-radius: 10px;
  font-size: 1.6rem;
  font-weight: 800;
  text-transform: uppercase;
  background-color: #fff;
  color: #777676;
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.5);
  transition: 0.2s;
  line-height: 5em;
  letter-spacing: 0.05em;
}
.cta_btn:hover {
  background-color: #e2941f;
  color: #F5F5F5;
}

.flex_box_green {
  background-color: #74a735;
}

.flex_box_yelow {
  background-color: #f4d81d;
}

.flex_box_orange {
  background-color: #e2941f;
}

.flex_box_off_orange {
  background-color: #ffffff;
}

.flex_box_blue {
  background-color: #1e73be;
}

.flex_box_red {
  background-color: #dd240f;
}

.flex_box_wblue {
  background-color: #abb8c3;
}

.inview1 {
  opacity: 0;
  transform: translateY(80px);
  transition: 0.8s;
  transition-delay: 0.2s;
}

.inview1.show {
  opacity: 1;
  transform: translateY(20px);
}

.header_wrap {
  width: 100%;
  background-color: #401919;
  height: 1px;
  position: fixed;
  z-index: 9999;
}
.header_wrap header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1%;
  margin: 0 auto;
  position: fixed;
  top: 0;
  left: 0;
  width: 95%;
  padding: 20px 0;
  margin: 0 auto;
}
.header_wrap header h1 {
  width: 20%;
  padding-left: 2%;
}
.header_wrap header h1 a {
  color: #F5F5F5;
}
.header_wrap header nav.global {
  width: 100%;
}
.header_wrap header nav.global ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1%;
  justify-content: flex-end;
  gap: 2%;
}
.header_wrap header nav.global ul li a {
  padding: 0.4rem 1rem;
  border-radius: 3px;
  font-size: 1.6rem;
  text-transform: uppercase;
  color: #777676;
  transition: 0.2s;
}
.header_wrap header nav.global ul li a:hover {
  display: inline-block;
  transform: rotateX(360deg);
  color: #e2941f;
}

footer {
  padding-top: 120px;
  padding-bottom: 20px;
  background-color: #fff;
  text-align: center;
}
footer p.logo {
  text-align: center;
  margin-bottom: 80px;
}
footer .sns_area {
  text-align: center;
}
footer .sns_area p.sns_text {
  margin-bottom: 1rem;
  font-size: 1.6rem;
}
footer .sns_area .sns_icon_flex {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  max-width: 800px;
  margin: 0 auto;
  margin-bottom: 80px;
}
footer nav.local {
  margin-bottom: 60px;
}
footer nav.local .footer_main {
  display: flex;
  justify-content: center;
  gap: 10%;
  margin-bottom: 80px;
}
footer nav.local .footer_main .footer_main_sub {
  font-size: 1.6rem;
}
footer nav.local .footer_main .footer_main_sub li.footer_title {
  font-size: 1.8rem;
  margin-bottom: 15px;
}
footer nav.local .footer_main .footer_main_sub li.footer_subtitle {
  font-size: 1.4rem;
  margin-bottom: 10px;
}
footer nav.local .footer_main .footer_main_sub .support {
  margin-top: 20px;
}
footer nav.local ul.footer_sub {
  display: flex;
  justify-content: center;
  gap: 5%;
  font-size: 1.4rem;
}
main .main_visual_wrap section.main_visual {
  padding-top: 60px;
  padding-bottom: 80px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  background: linear-gradient(180deg, rgb(255, 255, 255), rgb(245, 245, 245));
}
main .main_visual_wrap section.main_visual .slider_1 {
  padding-bottom: 20px;
  margin-top: -100px;
}
main .main_visual_wrap section.main_visual .slider_1 p {
  font-size: 3.6rem;
  font-weight: 1200;
  color: #bfbebe;
}
main .main_visual_wrap section.main_visual ul.slider_2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1%;
  width: 100%;
}
main .main_visual_wrap section.main_visual ul.slider_2 li.slider_li_1 {
  width: 100%;
  padding: 0 10px;
  margin-bottom: 20px;
  margin-top: 0px;
}
main .main_visual_wrap section.main_visual ul.slider_2 li.slider_li_1 img {
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.5);
  transition: 1s;
}
main .main_visual_wrap section.main_visual ul.slider_2 li.slider_li_1 img:hover {
  transform: scale(1.2, 1.2);
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 9999;
}
main .main_visual_wrap section.main_visual ul.slider_2 li.slider_li_2 {
  width: 100%;
  padding: 0 10px;
  margin-bottom: 0px;
  margin-top: 50px;
}
main .main_visual_wrap section.main_visual ul.slider_2 li.slider_li_2 img {
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.5);
  transition: 1s;
}
main .main_visual_wrap section.main_visual ul.slider_2 li.slider_li_2 img:hover {
  transform: scale(1.2, 1.2);
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 9999;
}
main .main_visual_wrap section.main_visual ul.slider_2 li.slider_li_3 {
  width: 100%;
  padding: 0 10px;
  margin-bottom: 20px;
  margin-top: 40px;
}
main .main_visual_wrap section.main_visual ul.slider_2 li.slider_li_3 img {
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.5);
  transition: 1s;
}
main .main_visual_wrap section.main_visual ul.slider_2 li.slider_li_3 img:hover {
  transform: scale(1.2, 1.2);
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 9999;
}
main .main_visual_wrap section.main_visual ul.slider_2 li.slider_li_4 {
  width: 100%;
  padding: 0 10px;
  margin-bottom: 20px;
  margin-top: 120px;
}
main .main_visual_wrap section.main_visual ul.slider_2 li.slider_li_4 img {
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.5);
  transition: 1s;
}
main .main_visual_wrap section.main_visual ul.slider_2 li.slider_li_4 img:hover {
  transform: scale(1.2, 1.2);
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 9999;
}
main .main_visual_wrap section.main_visual ul.slider_2 li.slider_li_5 {
  width: 10px;
  padding: 0 10px;
  margin-bottom: 20px;
  margin-top: 100px;
}
main .main_visual_wrap section.main_visual ul.slider_2 li.slider_li_5 img {
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.5);
  transition: 1s;
}
main .main_visual_wrap section.main_visual ul.slider_2 li.slider_li_5 img:hover {
  transform: scale(1.2, 1.2);
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 9999;
}
main .main_visual_wrap section.main_visual ul.slider_2 li.slider_li_6 {
  width: 100%;
  padding: 0 10px;
  margin-bottom: 40px;
  margin-top: 40px;
}
main .main_visual_wrap section.main_visual ul.slider_2 li.slider_li_6 img {
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.5);
  transition: 1s;
}
main .main_visual_wrap section.main_visual ul.slider_2 li.slider_li_6 img:hover {
  transform: scale(1.2, 1.2);
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 9999;
}
main .main_visual_wrap section.main_visual ul.slider_2 li.slider_li_7 {
  width: 100%;
  padding: 0 10px;
  margin-bottom: 100px;
  margin-top: 100px;
}
main .main_visual_wrap section.main_visual ul.slider_2 li.slider_li_7 img {
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.5);
  transition: 1s;
}
main .main_visual_wrap section.main_visual ul.slider_2 li.slider_li_7 img:hover {
  transform: scale(1.2, 1.2);
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 9999;
}
main .main_visual_wrap section.main_visual ul.slider_2 li.slider_li_8 {
  width: 100%;
  padding: 0 10px;
  margin-bottom: 100px;
  margin-top: 100px;
}
main .main_visual_wrap section.main_visual ul.slider_2 li.slider_li_8 img {
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.5);
  transition: 1s;
}
main .main_visual_wrap section.main_visual ul.slider_2 li.slider_li_8 img:hover {
  transform: scale(1.2, 1.2);
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 9999;
}
main .main_visual_wrap_about {
  padding-top: 60px;
  padding-bottom: 400px;
  margin-top: 80px;
  background-image: url(../images/about_top_img.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}
main .main_visual_wrap_about section.main_visual_about {
  width: 60%;
  padding-right: 40px;
}
main .main_visual_wrap_about section.main_visual_about p span {
  font-size: 1.8rem;
  color: #ffffff;
  text-align: justify;
  display: block;
  line-height: 2.6em;
}
main .main_visual_wrap_about section.main_visual_about p .font_big {
  color: #ffffff;
  display: block;
  font-size: 2.8rem;
  line-height: 1.6em;
  margin-bottom: 10rem;
}

.wrapper_concept {
  background-image: url(../images/about_top_img.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 100px;
}
.wrapper_concept section.concept {
  padding-top: 80x;
  padding-bottom: 80px;
  text-shadow: 0.5px 0.5px 0.5px #6a6a6a;
}
.wrapper_concept section.concept p strong.catch_copy {
  font-family: "Zen Kurenaido", serif;
  font-weight: 400;
  font-size: 1.8rem;
  color: #777676;
  line-height: 1.5;
  font-size: 3.6rem;
  color: #ffffff;
  font-weight: 1200;
}
.wrapper_concept section.concept p.concept_text {
  font-family: "Zen Kurenaido", serif;
  font-weight: 400;
  font-size: 1.8rem;
  color: #777676;
  line-height: 1.5;
  font-size: 1.8rem;
  width: 50%;
  margin: 0 auto;
  padding-top: 60px;
  color: #ffffff;
}
.wrapper_concept section.concept p.concept_text span {
  display: block;
  margin-bottom: 4.6rem;
  line-height: 2.6em;
}
.wrapper_concept section.concept p.concept_text span span.font_big {
  display: inline-block;
  font-size: 1.8rem;
  line-height: 0.055rem;
}
.wrapper_concept section.concept p.concept_text span:last-child {
  margin-bottom: 0;
}

section.img_area ul {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
section.img_area ul li {
  width: 100%;
  flex-grow: 1;
}
section.img_area ul li img {
  width: 100%;
}

section.img_area_solo_center {
  width: 100%;
}
section.img_area_solo_center p {
  text-align: center;
}
section.img_area_solo_center p img {
  border-radius: 100px 100px 100px 100px;
  /* 左上、右上、右下、左下 */
}

section.img_area_solo_left p {
  width: 100%;
  text-align: left;
}
section.img_area_solo_left p img {
  border-radius: 0px 100px 100px 0px;
  /* 左上、右上、右下、左下 */
}

section.img_area_solo_right p {
  width: 100%;
  text-align: right;
}
section.img_area_solo_right p img {
  border-radius: 100px 0px 0px 100px;
  /* 左上、右上、右下、左下 */
}

.wrapper_concept_about {
  padding-top: 80px;
  text-align: justify;
  width: 80%;
  margin: 0 auto;
}
.wrapper_concept_about section.concept_about {
  padding-top: 80x;
  padding-bottom: 80px;
  text-align: justify;
}
.wrapper_concept_about section.concept_about p small {
  font-size: 1.8rem;
  color: #e29c23;
  text-align: justify;
  padding: 1rem 10% 1rem 10%;
}
.wrapper_concept_about section.concept_about p strong.catch_copy {
  font-family: "Zen Kurenaido", serif;
  font-weight: 400;
  font-size: 1.8rem;
  color: #777676;
  line-height: 1.5;
  font-size: 3.6rem;
  color: #000000;
  font-weight: 1200;
  text-align: justify;
}
.wrapper_concept_about section.concept_about p strong.catch_copy span {
  display: block;
  padding: 1rem 10% 1rem 10%;
}
.wrapper_concept_about section.concept_about p.concept_text {
  font-size: 2rem;
  width: 50%;
  margin: 0 auto;
  padding-top: 60px;
  color: #000000;
  font-weight: 100;
  text-align: justify;
}
.wrapper_concept_about section.concept_about p.concept_text span {
  display: block;
  margin-bottom: 4.6rem;
  line-height: 1.8em;
}
.wrapper_concept_about section.concept_about p.concept_text span span.font_big {
  display: inline-block;
  font-size: 1.6rem;
  line-height: 0.055rem;
}
.wrapper_concept_about section.concept_about p.concept_text span:last-child {
  margin-bottom: 0;
}
.wrapper_concept_about section.concept_about h2.page_title_about {
  font-size: 2.6rem;
  text-align: justify;
  border: none;
  padding: 0rem 10% 1rem 10%;
  margin-top: 5rem;
  margin-bottom: 0.5rem;
}
.wrapper_concept_about section.concept_about p.page_text_about {
  font-size: 1.8rem;
  padding: 0.5rem 10% 0.5rem 10%;
  text-align: justify;
  line-height: 1.8em;
}
.wrapper_concept_about section.concept_about ul {
  font-size: 1.8rem;
  padding: 1rem 10% 2rem 10%;
  text-align: justify;
}
.wrapper_concept_about section.concept_about ul li {
  line-height: 1.8em;
}

.about {
  padding-bottom: 10rem;
}
.about p.about_title {
  font-size: 2rem;
  font-weight: 600;
  padding-top: 20rem;
  padding-bottom: 0.1rem;
}
.about .profile {
  padding-top: 5rem;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 100px;
  align-items: center;
}
.about .profile p.profile-img img {
  border-radius: 50%;
  box-shadow: 1px 2px 2px #6c6b6b;
  transition: 0.1s ease-in-out;
}
.about .profile p.profile-img:hover img:nth-of-type(2) {
  opacity: 0;
}
.about .profile .profile-contents .profile-title {
  font-size: 1.8rem;
  margin-bottom: 20px;
  /* text-align: center; */
  color: #000000;
  text-align: justify;
}
.about .profile .profile-contents .profile-title strong {
  font-size: 2.6rem;
}
.about .profile .profile-contents .profile-title span {
  color: #000;
  font-size: 1.6rem;
  display: block;
  padding-bottom: 1rem;
}
.about .profile .profile-contents .profile-text {
  max-width: 500px;
  text-align: justify;
  padding-top: 0.11rem;
}
.about .profile .profile-contents-restory {
  border: 1px solid #000000;
  padding: 20px 80px;
  background-color: #fff;
}
.about .profile .profile-contents-restory .profile-title-restory {
  font-size: 1.6rem;
  margin-bottom: 20px;
  /* text-align: center; */
  color: #000000;
  text-align: justify;
  padding-top: 3rem;
}
.about .profile .profile-contents-restory .profile-title-restory strong {
  font-size: 2.6rem;
}
.about .profile .profile-contents-restory .profile-title-restory span {
  color: #2b2b2b;
  font-size: 1.6rem;
  font-weight: 800;
  display: block;
  padding-bottom: 1rem;
}
.about .profile .profile-contents-restory .profile-text-restory {
  max-width: 500px;
  text-align: justify;
  padding-top: 0.11rem;
}

section.way ul {
  max-width: 1200px;
  display: flex;
  justify-content: center;
  gap: 5%;
  margin: 0 auto;
}
section.way ul .book_cover {
  width: 25%;
  padding: 5%;
  padding: 4rem 2rem;
  margin: 2em 0;
  color: #2c2c2f;
  background: #f5e7d1;
  border-top: solid 5px #e2941f;
  border-bottom: solid 5px #e2941f;
  position: relative;
  box-shadow: 10px 15px 22px -5px rgba(0, 0, 0, 0.2), 0 0 2px rgba(0, 0, 0, 0.15);
  /* 周囲の影 */
  /* 角丸にすると本らしさが出る */
  /* 疑似要素で光沢演出のためのカバーを画像に重ねる */
}
section.way ul .book_cover:after {
  content: "";
  position: absolute;
  /* 親要素に重なるように */
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  /* 👇白の透明度を調整したグラデーション */
}
section.way ul .book_cover li {
  background-position: center 5%;
  background-repeat: no-repeat;
  background-size: 20%;
  width: 100%;
  /* 親要素の幅に合うように */
  /* 親要素に対してoverflowを使うとバグるブラウザがあるので、画像自体にもborder-radiusを適用する */
}
section.way ul .book_cover h3 {
  padding-top: 60px;
  font-size: 2.6rem;
  text-align: center;
}
section.way ul .book_cover p img {
  position: absolute;
  top: 100%;
  left: 75%;
  transform-origin: center bottom;
}
section.way ul li.way_1 {
  background-image: url(../images/01.png);
}
section.way ul li.way_2 {
  background-image: url(../images/02.png);
}
section.way ul li.way_3 {
  background-image: url(../images/03.png);
}

.action_group {
  padding: 80px;
}
.action_group .action_area {
  margin-top: 10px;
}

section.event {
  background-size: auto auto;
  padding-bottom: 160px;
}
section.event ul {
  padding-top: 80px;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}
section.event ul .event_li_wrapper {
  padding: 10px 60px;
  border: #000 dotted;
  width: 80%;
  max-width: 800px;
  margin: 80px auto;
}
section.event ul .event_li_wrapper li {
  padding-bottom: 80px;
  transition-duration: 0.4s;
}
section.event ul .event_li_wrapper li p {
  font-size: 2rem;
  text-align: justify;
  padding-bottom: 10px;
  line-height: 2;
  letter-spacing: 0.075em;
}
section.event ul .event_li_wrapper li p time {
  font-size: 3.6rem;
  font-weight: 400;
}
section.event ul .event_li_wrapper li p span {
  display: block;
}
section.event ul .event_li_wrapper li img {
  width: 100%;
}
section.event ul .event_li_wrapper li:hover {
  transform: scale(1.01);
}

/* プロジェクト（詳細） */
/* Project（事業内容） */
section.project {
  background-color: white;
}
section.project h2.inview1 {
  text-align: center;
}
section.project #project_contents {
  text-align: center;
}
section.project #project_contents p {
  font-size: 1.8rem;
  line-height: 1.6;
  text-align: justify;
  letter-spacing: 0.05em;
}
section.project #project_contents em {
  font-size: 2rem;
  font-weight: bold;
  color: #d35400;
}
section.project #project_contents .project_flex {
  width: 90%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 3%;
  padding-bottom: 100px;
  align-items: center;
  text-align: center;
}
section.project #project_contents .project_flex:nth-child(even) {
  flex-direction: row-reverse;
  /* 左右入れ替え */
}
section.project #project_contents .project_flex .project_img p {
  margin: 0;
}
section.project #project_contents .project_flex .project_img p img {
  border-radius: 100px;
  display: block;
  max-width: 100%;
  height: auto;
}
section.project #project_contents .project_flex .project_p {
  width: 40%;
}
section.project #project_contents .project_flex .project_p p strong {
  font-size: 4.6rem;
  font-weight: bold;
  color: rgba(107, 116, 107, 0.3764705882);
  line-height: 2;
}
section.project #project_contents .project_flex .project_p p.Catchphrase_1 {
  font-size: 2.6rem;
  line-height: 1.6;
  text-align: justify;
  letter-spacing: 0.05em;
  color: #d35400;
  padding-bottom: 2.6rem;
}
section.project #project_contents .project_flex .project_p .action_area {
  margin-top: 2.4rem;
  text-align: left;
}
section.project #project_contents .project_flex .project_p .action_button {
  display: inline-block;
  padding: 1.2rem 2.8rem;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  color: #d35400;
  border: 1px solid #d35400;
  border-radius: 50px;
  text-decoration: none;
  transition: all 0.3s ease;
  background-color: #fff;
}
section.project #project_contents .project_flex .project_p .action_button:hover {
  background-color: #d35400;
  color: #fff;
}

section.bookshelf {
  width: 100%;
  margin: 0 auto;
}
section.bookshelf p.comment {
  width: 80%;
  font-size: 1.8rem;
  margin: 0 auto;
  margin-bottom: 2rem;
}
section.bookshelf ul.book_all {
  display: grid;
  border-top: 1px solid #000;
  border-left: 1px solid #000;
  grid-template-columns: repeat(3, 1fr);
  max-width: 1200px;
  margin: 0 auto;
}
section.bookshelf ul.book_all li.book_list {
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 25%;
}
section.bookshelf ul.book_all li.book_list img {
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.5);
  transition: 1s;
}
section.bookshelf ul.book_all li.book_list img:hover {
  transform: scale(1.2, 1.2);
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 9999;
}

section.voice {
  padding-bottom: 80px;
}
section.voice ul li.voice_list {
  margin-bottom: 80px;
  background-image: url(../images/Rectangle.jpg);
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: 60%;
  border-radius: 1px solid #000000;
}
section.voice ul li.voice_list .flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1%;
  width: 60%;
  margin: 0 auto;
  align-items: center;
}
section.voice ul li.voice_list .flex p.book_img {
  width: 40%;
}
section.voice ul li.voice_list .flex p.book_img img {
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.5);
  transition: 1s;
}
section.voice ul li.voice_list .flex p.book_img img:hover {
  transform: scale(1.2, 1.2);
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 9999;
}
section.voice ul li.voice_list .flex .voice_text {
  width: 60%;
  padding: 5%;
}
section.voice ul li.voice_list .flex .voice_text h3 {
  font-size: 3.2rem;
}
section.voice ul li.voice_list .flex .voice_text .voice_text_p {
  text-align: justify;
  font-size: 1.6rem;
}

section.topics ul {
  padding-top: 80px;
  padding-bottom: 160px;
  display: flex;
  justify-content: space-between;
  width: 80%;
  flex-wrap: wrap;
  margin: 0 auto;
  align-items: center;
}
section.topics ul li {
  width: 30%;
  padding: 40px;
  border: #000 solid;
  margin-bottom: 40px;
  font-size: 2rem;
  transition-duration: 0.4s;
}
section.topics ul li p span {
  font-size: 2.6rem;
  padding-right: 0.075em;
}
section.topics ul li:hover {
  transform: scale(1.1);
}

section.news dl {
  width: 80%;
  margin: 0 auto;
  line-height: 1.5;
}
section.news dl a {
  display: block;
}
section.news dl .news_list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1%;
  justify-content: center;
  gap: 2%;
  align-items: flex-start;
  margin-bottom: 40px;
}
section.news dl .news_list dt.news_img {
  width: 30%;
}
section.news dl .news_list .news_detail {
  width: 50%;
  text-align: left;
}
section.news dl .news_list .news_detail .news_text_1 {
  margin-bottom: 20px;
  line-height: 1.8;
}
section.news dl .news_list .news_detail .news_text_1 .news_tag_report {
  background-color: #74a735;
  border-radius: 10px;
  padding: 8px 8px;
  font-size: 1.4rem;
  margin-right: 1rem;
}
section.news dl .news_list .news_detail .news_text_1 .news_tag_news {
  background-color: #e4981e;
  border-radius: 10px;
  padding: 8px 8px;
  font-size: 1.4rem;
  margin-right: 1rem;
}
section.news dl .news_list .news_detail .news_text_1 time {
  font-size: 1.4rem;
}
section.news dl .news_list .news_detail .news_text_2 {
  font-size: 1.6rem;
  line-height: 1.5;
}
section.news dl .news_list .news_detail .news_text_2 strong {
  display: block;
  font-size: 1.6rem;
  margin-bottom: 10px;
  line-height: 1.5;
}

/* =========================
   JOIN（関わる・応援する） PC
   シンプル×本っぽさ（背表紙ライン）＋寄付だけ表情変更
   既存の project のトーン（オレンジ #d35400 / 余白 / 角丸）と揃える
========================= */
section.join#join_sec {
  width: 100%;
  padding: 120px 0 80px;
  /* 3冊の並び（PC） */
  /* 1冊（カード） */
  /* 寄付だけ表情を変える（2枚目） */
  /* 下の大ボタン（画像ボタン）も余白を整える */
  /* お問い合わせ */
}
section.join#join_sec h2.inview1 {
  text-align: center;
}
section.join#join_sec .join_flex_list {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto 56px;
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 28px;
}
section.join#join_sec .join_1 {
  position: relative;
  width: calc((100% - 56px) / 3);
  padding: 28px 26px 24px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 28px;
  /* project の丸みより少し控えめで統一感 */
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.06);
  /* 弱め */
  overflow: hidden;
  /* 本の背表紙（さらに本っぽく：幅12px / rgba(211,84,0,0.22)） */
  /* さらにシンプル寄り：罫線削除（afterなし） */
  /* hoverも控えめ */
  /* CTA：角を強調（楕円すぎない） */
}
section.join#join_sec .join_1::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 12px;
  height: 100%;
  background: rgba(211, 84, 0, 0.22);
}
section.join#join_sec .join_1::after {
  content: none;
}
section.join#join_sec .join_1:hover {
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
  transition: 0.25s ease;
}
section.join#join_sec .join_1 .catch_copy_3 {
  margin-bottom: 18px;
}
section.join#join_sec .join_1 .catch_copy_3 h3 {
  font-size: 2.2rem;
  line-height: 1.25;
  letter-spacing: 0.04em;
  color: #2f2f2f;
  margin: 0 0 6px;
}
section.join#join_sec .join_1 .border_action_area {
  padding-top: 10px;
}
section.join#join_sec .join_1 .text_join_2 {
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: justify;
  color: rgba(0, 0, 0, 0.72);
  margin: 0 0 18px;
}
section.join#join_sec .join_1 .action_area {
  margin-top: 16px;
  text-align: left;
}
section.join#join_sec .join_1 .cta_btn {
  display: inline-block;
  padding: 12px 18px;
  border-radius: 10px;
  /* ←ここで角を出す */
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  text-decoration: none;
  border: 1px solid #d35400;
  color: #d35400;
  background: #fff;
  transition: 0.25s ease;
  line-height: 1;
}
section.join#join_sec .join_1 .cta_btn:hover {
  background: #d35400;
  color: #fff;
}
section.join#join_sec .join_1:nth-child(2) {
  border-color: rgba(211, 84, 0, 0.22);
  background: rgba(211, 84, 0, 0.04);
}
section.join#join_sec .join_1:nth-child(2)::before {
  background: rgba(211, 84, 0, 0.32);
}
section.join#join_sec .join_1:nth-child(2) .catch_copy_3 h3 {
  color: #d35400;
}
section.join#join_sec .join_1:nth-child(2) .cta_btn {
  background: #d35400;
  color: #fff;
}
section.join#join_sec .join_1:nth-child(2) .cta_btn:hover {
  background: #fff;
  color: #d35400;
}
section.join#join_sec p.go_book {
  text-align: center;
  margin: 0 auto 26px;
}
section.join#join_sec p.go_book a {
  display: inline-block;
}
section.join#join_sec p.go_book a img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 18px;
  /* ちょい統一 */
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.06);
}
section.join#join_sec .contact_area {
  width: 100%;
  margin: 0 auto;
  padding-top: 80px;
  padding-bottom: 120px;
}
section.join#join_sec .contact_area p {
  margin-bottom: 60px;
}
section.join#join_sec .contact_area .contact_link {
  border: 1px solid #000000;
  padding: 40px 80px;
  background-color: #fff;
}

.booklist section.bookshelf {
  margin-bottom: 80px;
}

.book section.main_visual {
  width: 90%;
  margin: 0 auto;
  padding-top: 40px;
}
.book section.main_visual h2 {
  border: none;
  font-weight: 800;
  font-size: 8.6rem;
  color: #e6e6e6;
  text-align: center;
  margin-bottom: -180px;
  text-transform: uppercase;
}
.book section.main_visual ul {
  width: 100%;
}
.book section.main_visual ul li.book_main {
  position: relative;
  width: 100%;
  padding: 5rem 0 40rem 0;
  display: block;
  cursor: pointer;
}
.book section.main_visual ul li.book_main img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 30%;
  display: block;
  transition: 0.1s ease-in-out;
}
.book section.main_visual ul li.book_main:hover img:nth-of-type(2) {
  opacity: 0;
}
.book section.main_visual ul .book_sub {
  display: flex;
  justify-content: center;
  gap: 10%;
}
.book section.main_visual ul .book_sub li.book_sub_1 img:hover {
  transform: scale(4.2, 4.2);
  transition: 0.4s ease-in-out;
}
.book section.main_visual ul li.book_sub_1 {
  width: 10%;
}
.book section.caption {
  padding-top: 40px;
}
.book section.caption .book_contents {
  padding-top: 40px;
  padding-bottom: 40px;
  width: 80%;
  max-width: 800px;
  margin: 0 auto;
}
.book section.caption .book_contents p {
  text-align: justify;
  display: block;
  margin-bottom: 10px;
}
.book section.caption .book_contents p strong {
  font-size: 2.6rem;
  margin-bottom: 20px;
  display: block;
  line-height: 1.5;
}
.book section.caption .book_contents .p_block {
  margin-bottom: 40px;
}
.book section.caption .book_contents h3.book_title {
  font-size: 2rem;
  margin-bottom: 10px;
  padding-top: 40px;
  text-align: justify;
}
.book section.caption .book_contents p span {
  display: block;
  margin-bottom: 10px;
}
.book section.place h2 {
  margin-bottom: 80px;
}
.book section.place p img {
  width: 40%;
}
.book section.place p.request_text {
  padding-top: 40px;
  width: 80%;
  margin: 0 auto;
}
.book section.place .action_area {
  margin-top: 1rem;
}
.book section.book_voice {
  background-image: url(../images/book_from_reader.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 30%;
  background-color: rgba(255, 255, 255, 0.4);
  background-blend-mode: lighten;
  padding-bottom: 80px;
}
.book section.book_voice h2 {
  margin-bottom: 80px;
}
.book section.book_voice .book_voice_flex:nth-child(even) {
  display: flex;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  align-items: center;
  gap: 5%;
  padding-top: 80px;
}
.book section.book_voice .book_voice_flex:nth-child(even) .book_voice_1 {
  width: 50%;
  background-color: rgba(254, 254, 254, 0.5647058824);
  background: linear-gradient(90deg, rgba(158, 168, 178, 0.112), rgba(255, 255, 255, 0.865));
  border-radius: 40px 80px 10px 100px;
  padding: 5%;
  margin-bottom: 10%;
}
.book section.book_voice .book_voice_flex:nth-child(even) .book_voice_1 p {
  text-align: justify;
}
.book section.book_voice .book_voice_flex:nth-child(even) .book_voice_1 p strong {
  display: block;
  font-size: 2rem;
  margin-bottom: 10px;
}
.book section.book_voice .book_voice_flex:nth-child(even) .book_voice_2 {
  width: 50%;
  font-size: 2rem;
  font-weight: 800;
  color: #000000;
  text-align: justify;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.706), rgba(158, 168, 178, 0.112));
  border-radius: 40px 80px 10px 100px;
  padding: 2%;
}
.book section.book_voice .book_voice_flex:nth-child(odd) {
  flex-direction: row-reverse;
  display: flex;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  align-items: center;
  gap: 10%;
}
.book section.book_voice .book_voice_flex:nth-child(odd) .book_voice_1 {
  width: 50%;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.706), rgba(158, 168, 178, 0.112));
  border-radius: 40px 80px 10px 100px;
  background-color: rgba(254, 254, 254, 0.5647058824);
  padding: 5%;
  margin-bottom: 10%;
}
.book section.book_voice .book_voice_flex:nth-child(odd) .book_voice_1 p {
  text-align: justify;
}
.book section.book_voice .book_voice_flex:nth-child(odd) .book_voice_1 p strong {
  display: block;
  font-size: 2rem;
  margin-bottom: 10px;
}
.book section.book_voice .book_voice_flex:nth-child(odd) .book_voice_2 {
  width: 50%;
  font-size: 3rem;
  font-weight: 800;
  color: #000000;
}
.book section.book_voice .book_voice_flex:nth-child(odd) .book_voice_2 p {
  text-align: justify;
}
.book section.book_voice .book_voice_flex:nth-child(odd) .book_voice_2 p strong {
  display: block;
  font-size: 2rem;
  margin-bottom: 10px;
}
.book section.bookshelf {
  margin-top: 80px;
  margin: 0 auto;
}
.book section.bookshelf h2 {
  margin-bottom: 80px;
}

.first section.time_place h2 {
  margin-bottom: 80px;
}
.first section.time_place .time_place_flex_list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1%;
  justify-content: center;
  gap: 5%;
  align-items: start;
  max-width: 1200px;
  margin: 100px auto;
  width: 80%;
}
.first section.time_place .time_place_flex_list .tp_1 {
  width: 30%;
  border: 2px solid #000000;
  height: quto;
  background-image: url(../images/img_place_1.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  background-color: rgba(255, 255, 255, 0.4);
  background-blend-mode: lighten;
}
.first section.time_place .time_place_flex_list .tp_1 .catch_copy_3 h3 {
  margin: 100px auto;
  text-align: center;
  font-size: 2.6rem;
  font-weight: 1200;
  color: #000;
  text-shadow: 1px 1px 2px rgb(248, 248, 248);
}
.first section.time_place .time_place_flex_list .tp_1 .border_action_area {
  border-top: 2px solid #000000;
  background-color: #fff;
  margin: 0 auto;
  padding: 10%;
}
.first section.time_place .time_place_flex_list .tp_1 .border_action_area p.text_tp_2 {
  text-align: justify;
  width: 80%;
  margin: 0 auto;
  padding-top: 5%;
  font-size: 1.6rem;
}
.first section.time_place .time_place_flex_list .tp_1 .border_action_area .action_area {
  margin-bottom: 0;
  margin-top: 0;
  padding-bottom: 20px;
}
.first section.flow {
  background-size: auto auto;
  background-color: rgb(255, 255, 255);
  background-image: repeating-linear-gradient(0deg, transparent, transparent 80px, rgba(0, 0, 0, 0.04) 80px, rgba(0, 0, 0, 0.04) 81px);
  padding-bottom: 80px;
}
.first section.flow ul.flow_flex {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin: -30px auto 0 auto;
  flex-wrap: wrap;
  max-width: 1200px;
  gap: 10px;
  padding-top: 80px;
  width: 80%;
}
.first section.flow ul.flow_flex li {
  position: relative;
  margin: -10px 0 0 0;
  width: 40%;
}
.first section.flow ul.flow_flex li p.flow_title {
  position: absolute;
  /* 背景色指定 */
  padding: 10px;
  /* 余白指定 */
  left: -30px;
  /* 左からの位置指定 */
  top: -20px;
  /* 上からの位置指定 */
}
.first section.flow ul.flow_flex li p.flow_image {
  background-color: #835858;
  padding-right: 20px;
  padding-bottom: 20px;
  margin-right: 20px;
}
.first section.flow ul.flow_flex li p {
  text-align: justify;
  width: 80%;
}
.first section.flow ul.flow_flex li:nth-child(1) {
  margin: 20px 0 0 0;
}
.first section.flow ul.flow_flex li:nth-child(1) p.yajirushi_1 {
  position: absolute;
  top: 40%;
  left: 100%;
}
.first section.flow ul.flow_flex li:nth-child(1) p.yajirushi_2 {
  position: absolute;
  top: 70%;
  left: 30%;
}
.first section.flow ul.flow_flex li:nth-child(2) {
  margin: 180px 0 0 0;
}
.first section.flow ul.flow_flex li:nth-child(3) {
  margin: 20px 0 0 100px;
}
.first section.please .wrapper_please {
  background-image: url(../images/img_place_1.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  background-color: rgba(255, 255, 255, 0.4);
  background-blend-mode: lighten;
  padding-bottom: 80px;
}
.first section.please .wrapper_please p {
  padding-top: 80px;
}
.first section.please .wrapper_please .please_flex {
  max-width: 800px;
  width: 80%;
  display: flex;
  justify-content: space-between;
  gap: 1px;
  margin: 20px auto;
  padding: 20px 40px 20px 40px;
  align-items: center;
  border: 1px solid #313131;
}
.first section.please .wrapper_please .please_flex .please_title_area {
  width: 50%;
  font-size: 2.6rem;
  color: #474747;
  font-weight: 900;
}
.first section.please .wrapper_please .please_flex .please_title_area h3 {
  font-size: 2.6rem;
  text-align: center;
}
.first section.please .wrapper_please .please_flex .please_title_area p {
  padding: 20px;
}
.first section.please .wrapper_please .please_flex .please_contents {
  width: 50%;
}
.first section.please .wrapper_please .please_flex .please_contents h4 {
  font-size: 2rem;
  margin-bottom: 0px;
  color: #313131;
  font-weight: 900;
}
.first section.please .wrapper_please .please_flex .please_contents p {
  padding-top: 0px;
  text-align: justify;
  font-size: 1.6rem;
  padding-bottom: 10px;
}
.first section.qa .wrapper_qa {
  width: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.first section.qa .wrapper_qa ul.qa_all {
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 100px;
}
.first section.qa .wrapper_qa ul.qa_all .qa_left {
  display: flex;
  justify-content: center;
  width: 100%;
  gap: 5%;
  padding-bottom: 60px;
}
.first section.qa .wrapper_qa ul.qa_all .qa_left li.qa_list {
  width: 35%;
}
.first section.qa .wrapper_qa ul.qa_all .qa_left li.qa_list h3 {
  font-size: 1.8rem;
}
.first section.qa .wrapper_qa ul.qa_all .qa_left li.qa_list p {
  text-align: justify;
  font-size: 1.6rem;
}
.first section.qa .wrapper_qa ul.qa_all .qa_left:last-child {
  padding-bottom: 0px;
}
.first section.qa .wrapper_qa .action_area {
  margin-top: 40px;
  padding-bottom: 120px;
  margin-bottom: 0px;
}
.first section.partner {
  width: 100%;
  margin: 0 auto;
  padding-bottom: 80px;
}
.first section.partner p {
  width: 80%;
  font-size: 1.8rem;
  margin: 0 auto;
  margin-bottom: 40px;
  padding-top: 80px;
}
.first section.partner ul.partner_all {
  display: flex;
  justify-content: center;
  grid-area: 10%;
  align-items: center;
  gap: 10%;
}
.first section.partner ul.partner_all li.partner_list {
  width: 10%;
}
.first section.contact {
  width: 100%;
  background-image: url(../images/first_back_contact.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.first section.contact .contact_area {
  width: 100%;
  margin: 0 auto;
  padding-top: 120px;
  padding-bottom: 120px;
}
.first section.contact .contact_area p {
  margin-bottom: 60px;
}
.first section.contact .contact_area p .contact_link {
  border: 1px solid #000000;
  padding: 40px 80px;
  background-color: #fff;
}

@media screen and (max-width: 1024px) {
  .header_wrap header h1 {
    width: 30%;
  }
  .header_wrap header nav.global ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1%;
    justify-content: flex-end;
    gap: 1%;
  }
  .header_wrap header nav.global ul li a {
    font-size: 1.2rem;
  }
  section.project #project_contents {
    /* 全体の左右余白を少し広げつつ、読みやすさ優先 */
  }
  section.project #project_contents p {
    font-size: 1.7rem;
    line-height: 1.7;
  }
  section.project #project_contents .project_flex {
    width: 92%;
    gap: 4%;
    padding-bottom: 80px;
  }
  section.project #project_contents .project_flex .project_img {
    width: 50%;
  }
  section.project #project_contents .project_flex .project_img p img {
    border-radius: 70px;
  }
  section.project #project_contents .project_flex .project_p {
    width: 45%;
  }
  section.project #project_contents .project_flex .project_p p strong {
    font-size: 3.6rem;
    line-height: 1.8;
  }
  section.project #project_contents .project_flex .project_p p.Catchphrase_1 {
    font-size: 2.2rem;
    padding-bottom: 2rem;
  }
  section.project #project_contents .project_flex .project_p .action_button {
    padding: 1.1rem 2.4rem;
    font-size: 1.5rem;
  }
  section.voice {
    margin: 0 auto;
  }
  section.voice h3 {
    font-size: 1.6rem;
    text-align: center;
  }
  section.voice ul.voice {
    width: 100%;
    margin: 0 auto;
  }
  section.voice ul.voice li.voice_list {
    margin-bottom: 80px;
  }
  section.voice ul.voice li.voice_list .flex {
    width: 60%;
    margin: 0 auto;
    gap: 0px;
    justify-content: center;
    align-items: center;
  }
  section.voice ul.voice li.voice_list .flex p.book_img {
    width: 20%;
  }
  section.voice ul.voice li.voice_list .flex .voice_text {
    width: 60%;
  }
  section.voice ul.voice li.voice_list .flex .voice_text h3 {
    font-size: 1.6rem;
    text-align: justify;
  }
  section.voice ul.voice li.voice_list .flex .voice_text .voice_text_p {
    font-size: 1.4rem;
  }
  .first section.time_place .time_place_flex_list {
    width: 90%;
    margin: 0 auto;
  }
  .first section.time_place .time_place_flex_list .tp_1 {
    width: 100%;
    margin-bottom: 40px;
  }
  .first section.time_place .time_place_flex_list .tp_1 .catch_copy_3 h3 {
    margin: 80px auto;
    font-size: 2rem;
  }
  .first section.flow ul.flow_flex li p.flow_title {
    width: 50%;
  }
  .first section.flow ul.flow_flex li p.flow_image {
    background-color: #835858;
    padding-right: 10px;
    padding-bottom: 10px;
    margin-right: 10px;
  }
  .first section.flow ul.flow_flex li:nth-child(1) {
    margin: 20px 0 0 0;
  }
  .first section.flow ul.flow_flex li:nth-child(1) p.yajirushi_1 {
    position: absolute;
    top: 40%;
    left: 100%;
  }
  .first section.flow ul.flow_flex li:nth-child(1) p.yajirushi_2 {
    position: absolute;
    top: 70%;
    left: 30%;
  }
  .first section.flow ul.flow_flex li:nth-child(2) {
    margin: 180px 0 0 0;
  }
  .first section.flow ul.flow_flex li:nth-child(3) {
    margin: 20px 0 0 100px;
  }
  .book section.main_visual {
    width: 90%;
    margin: 0 auto;
    padding-top: 40px;
  }
  .book section.main_visual h2 {
    border: none;
    font-weight: 800;
    font-size: 4.6rem;
    color: #e6e6e6;
    text-align: center;
    margin-bottom: -180px;
    text-transform: uppercase;
  }
  .book section.main_visual ul {
    width: 100%;
  }
  .book section.main_visual ul li.book_main {
    position: relative;
    width: 100%;
    padding: 5rem 0 40rem 0;
    display: block;
    cursor: pointer;
  }
  section.place p img {
    width: 40%;
  }
  section.place p.request_text {
    padding-top: 40px;
    width: 80%;
    margin: 0 auto;
  }
  section.place .action_area {
    margin-top: 1rem;
  }
  section.join#join_sec {
    padding: 90px 0 70px;
  }
  section.join#join_sec h2.inview1 {
    margin-bottom: 36px;
  }
  section.join#join_sec .join_flex_list {
    gap: 18px;
  }
  section.join#join_sec .join_1 {
    padding: 24px 20px 20px;
    border-radius: 24px;
  }
  section.join#join_sec .join_1 .catch_copy_3 h3 {
    font-size: 2rem;
  }
  section.join#join_sec .join_1 .text_join_2 {
    font-size: 1.55rem;
  }
  section.join#join_sec .join_1 .cta_btn {
    padding: 11px 16px;
    border-radius: 10px;
  }
  section.book_voice {
    background-image: url(../images/book_from_reader.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 30%;
    background-color: rgba(255, 255, 255, 0.4);
    background-blend-mode: lighten;
    padding-bottom: 80px;
  }
  section.book_voice h2 {
    margin-bottom: 80px;
  }
  section.book_voice .book_voice_flex:nth-child(even) {
    display: flex;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    align-items: center;
    gap: 5%;
    padding-top: 80px;
  }
  section.book_voice .book_voice_flex:nth-child(even) .book_voice_1 {
    width: 50%;
    background-color: rgba(254, 254, 254, 0.5647058824);
    background: linear-gradient(90deg, rgba(158, 168, 178, 0.112), rgba(255, 255, 255, 0.865));
    border-radius: 40px 80px 10px 100px;
    padding: 5%;
    margin-bottom: 10%;
  }
  section.book_voice .book_voice_flex:nth-child(even) .book_voice_1 p {
    text-align: justify;
  }
  section.book_voice .book_voice_flex:nth-child(even) .book_voice_1 p strong {
    display: block;
    font-size: 2rem;
    margin-bottom: 10px;
  }
  section.book_voice .book_voice_flex:nth-child(even) .book_voice_2 {
    width: 50%;
    font-size: 2rem;
    font-weight: 800;
    color: #000000;
    text-align: justify;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.706), rgba(158, 168, 178, 0.112));
    border-radius: 40px 80px 10px 100px;
    padding: 2%;
  }
  section.book_voice .book_voice_flex:nth-child(odd) {
    flex-direction: row-reverse;
    display: flex;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    align-items: center;
    gap: 10%;
  }
  section.book_voice .book_voice_flex:nth-child(odd) .book_voice_1 {
    width: 50%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.706), rgba(158, 168, 178, 0.112));
    border-radius: 40px 80px 10px 100px;
    background-color: rgba(254, 254, 254, 0.5647058824);
    padding: 5%;
    margin-bottom: 10%;
  }
  section.book_voice .book_voice_flex:nth-child(odd) .book_voice_1 p {
    text-align: justify;
  }
  section.book_voice .book_voice_flex:nth-child(odd) .book_voice_1 p strong {
    display: block;
    font-size: 2rem;
    margin-bottom: 10px;
  }
  section.book_voice .book_voice_flex:nth-child(odd) .book_voice_2 {
    width: 50%;
    font-size: 3rem;
    font-weight: 800;
    color: #000000;
  }
  section.book_voice .book_voice_flex:nth-child(odd) .book_voice_2 p {
    text-align: justify;
  }
  section.book_voice .book_voice_flex:nth-child(odd) .book_voice_2 p strong {
    display: block;
    font-size: 2rem;
    margin-bottom: 10px;
  }
  section.bookshelf {
    margin: 0 auto;
  }
}
.about .profile .profile-contents .profile-title strong {
  font-size: 1.8rem;
}

@media screen and (max-width: 790px) {
  section {
    text-align: center;
  }
  section h2 {
    font-size: 1.8rem;
  }
  .action_area {
    margin: 40px auto;
    width: 90%;
  }
  .cta_btn {
    padding: 1rem 2rem;
    border-radius: 10px;
    font-size: 1.6rem;
    font-weight: 800;
    text-transform: uppercase;
    background-color: #fff;
    color: #777676;
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.5);
    transition: 0.2s;
    line-height: 5em;
    letter-spacing: 0.05em;
    font-size: 1.4rem;
  }
  div.btn {
    display: block;
    /* PCでnoneで隠していたものを表示 */
    position: relative;
    z-index: 9999;
    /* 後にメニューが出たときに重なって見えなくなってしまうので、前面に表示されるように大きい値を付けておく */
    width: 40px;
    /* 線の横幅 */
    display: flex;
    flex-direction: column;
    gap: 10px;
    /* 線同士の隙間を調整 */
  }
  div.btn span {
    display: block;
    height: 4px;
    background-color: #313131;
    /* 線の太さ・色を設定 */
    transition: 0.5s;
    /* アニメーションの速度 */
  }
  .on div.btn span:nth-child(1) {
    transform: translate(0, 350%) rotate(45deg);
    /* bodyにclass名onが付いたら斜めに変形 */
  }
  .on div.btn span:nth-child(2) {
    opacity: 0;
    /* bodyにclass名onが付いたら透明に消す */
  }
  .on div.btn span:nth-child(3) {
    transform: translate(0, -350%) rotate(-45deg);
    /* bodyにclass名onが付いたら斜めに変形 */
  }
  header h1 {
    position: relative;
    z-index: 9999;
    /* 後にメニューが出たときに重なって見えなくなってしまうので、前面に表示されるように大きい値を付けておく */
    width: 100%;
  }
  header nav.global {
    position: fixed;
    top: 0;
    right: -100%;
    z-index: 9998;
    /* 画面外の右側に固定して見えないように */
    display: flex;
    justify-content: center;
    align-items: center;
    /* 中身のメニューを画面中央に */
    max-width: 100%;
    width: 100%;
    height: 100vh;
    /* 画面いっぱいの大きさに設定 */
    background-color: #fff;
    /* メニュー全体の背景色 */
    transition: 0.5s;
    /* アニメーションの速度 */
  }
  header nav.global ul {
    flex-direction: column;
    /* 横並びだったメニューを縦並びに変更 */
  }
  header nav.global ul li {
    margin-bottom: 2rem;
  }
  .on header nav {
    right: 0;
    /* bodyにclass名onが付いたら画面内にメニューが入る */
  }
  main .main_visual_wrap section.main_visual .slider_1 p {
    font-size: 1.6rem;
  }
  main .main_visual_wrap_about {
    width: 100%;
    display: block;
    justify-content: center;
    align-items: center;
  }
  main .main_visual_wrap_about section.main_visual_about {
    width: 100%;
  }
  main .main_visual_wrap_about section.main_visual_about p {
    width: 90%;
    margin: 0 auto;
    justify-content: center;
  }
  main .main_visual_wrap_about section.main_visual_about p .font_big {
    margin: 0 auto;
    justify-content: center;
    padding-bottom: 100px;
  }
  main .wrapper_concept section.concept p strong.catch_copy {
    font-size: 2.6rem;
  }
  main .wrapper_concept section.concept p.concept_text {
    font-size: 1.6rem;
    width: 90%;
  }
  main .wrapper_concept_about section.concept_about p strong.catch_copy {
    font-size: 2.6rem;
  }
  main .wrapper_concept_about section.concept_about p.concept_text {
    font-size: 1.6rem;
    width: 90%;
  }
  section.project #project_contents p {
    font-size: 1.5rem;
    line-height: 1.8;
    letter-spacing: 0.04em;
  }
  section.project #project_contents .project_flex {
    width: 92%;
    flex-direction: column;
    /* 縦積み */
    gap: 1.6rem;
    padding: 2.4rem 1.6rem;
    margin: 0 auto 2.4rem;
    border: 1px solid rgba(211, 84, 0, 0.1490196078);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.062745098);
    text-align: left;
  }
  section.project #project_contents .project_flex:nth-child(even) {
    flex-direction: column;
    /* 偶数の左右反転を無効化 */
  }
  section.project #project_contents .project_flex .project_img {
    width: 100%;
  }
  section.project #project_contents .project_flex .project_img p img {
    width: 100%;
    border-radius: 28px;
    /* スマホは角を弱めて収まり良く */
  }
  section.project #project_contents .project_flex .project_p {
    width: 100%;
    text-align: left;
    /* 見出し含め読みやすさ優先 */
  }
  section.project #project_contents .project_flex .project_p p strong {
    font-size: 3rem;
    line-height: 1.6;
  }
  section.project #project_contents .project_flex .project_p p.Catchphrase_1 {
    font-size: 2rem;
    padding-bottom: 1.6rem;
  }
  section.project #project_contents .project_flex .project_p .action_area {
    text-align: left;
    margin-top: 1.6rem;
  }
  section.project #project_contents .project_flex .project_p .action_button {
    width: 100%;
    /* 押しやすさ */
    text-align: center;
    padding: 1.2rem 1.6rem;
    font-size: 1.4rem;
  }
  section.join#join_sec {
    padding: 70px 0 60px;
  }
  section.join#join_sec .join_flex_list {
    flex-direction: column;
    max-width: 420px;
    width: 90%;
    margin: 30px auto 46px;
    gap: 18px;
  }
  section.join#join_sec .join_1 {
    width: 100%;
    padding: 22px 18px 18px;
    margin: 0;
    /* スマホで境目が分かりやすい */
    border-color: rgba(0, 0, 0, 0.1);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.06);
  }
  section.join#join_sec .join_1::before {
    width: 12px;
  }
  section.join#join_sec .join_1 .catch_copy_3 h3 {
    font-size: 2rem;
  }
  section.join#join_sec .join_1 .text_join_2 {
    font-size: 1.55rem;
  }
  section.join#join_sec .join_1 .action_area {
    margin-top: 14px;
  }
  section.join#join_sec .join_1 .cta_btn {
    width: 100%;
    text-align: center;
    padding: 12px 16px;
    border-radius: 10px;
  }
  section.join#join_sec p.go_book {
    margin-bottom: 22px;
  }
  section.join#join_sec p.go_book img {
    border-radius: 16px;
  }
  section.way ul {
    flex-direction: column;
    width: 100%;
  }
  section.way ul .book_cover {
    max-width: 350px;
    width: 90%;
    margin: 20px auto;
  }
  section.way ul .book_cover li {
    background-position: center 0%;
    background-repeat: no-repeat;
    background-size: 20%;
    width: 100%;
    /* 親要素の幅に合うように */
    border-radius: 4px;
    /* 親要素に対してoverflowを使うとバグるブラウザがあるので、画像自体にもborder-radiusを適用する */
  }
  section.way ul .book_cover p img {
    position: absolute;
    top: -200px;
    left: 75%;
    transform-origin: center bottom;
  }
  section.bookshelf p {
    font-size: 1rem;
    text-align: center;
  }
  section.voice {
    margin: 0 auto;
  }
  section.voice h3 {
    font-size: 1rem;
    text-align: center;
  }
  section.voice ul.voice li.voice_list {
    margin-bottom: 80px;
    background-image: none;
  }
  section.voice ul.voice li.voice_list .flex {
    flex-direction: column-reverse;
    width: 100%;
    margin: 0 auto;
    gap: 0px;
  }
  section.voice ul.voice li.voice_list .flex p.book_img {
    width: 30%;
  }
  section.voice ul.voice li.voice_list .flex .voice_text {
    width: 100%;
  }
  section.voice ul.voice li.voice_list .flex .voice_text h3 {
    font-size: 1.6rem;
    text-align: justify;
  }
  section.voice ul.voice li.voice_list .flex .voice_text .voice_text_p {
    font-size: 1.4rem;
  }
  section.event {
    background-size: auto auto;
    padding-bottom: 160px;
  }
  section.event ul {
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
  }
  section.event ul .event_li_wrapper {
    padding: 0px 0px;
    border: none;
    width: 90%;
    max-width: 800px;
    margin: 0 auto;
  }
  section.event ul .event_li_wrapper li {
    padding-bottom: 80px;
    transition-duration: 0.4s;
  }
  section.event ul .event_li_wrapper li p {
    font-size: 1.6rem;
    text-align: justify;
    padding-bottom: 10px;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  section.event ul .event_li_wrapper li p time {
    font-size: 2rem;
    font-weight: 400;
  }
  section.topics ul {
    padding-top: 80px;
    padding-bottom: 160px;
    flex-direction: column;
    width: 80%;
    margin: 0 auto;
    align-items: center;
  }
  section.topics ul li {
    width: 90%;
    max-width: 500px;
    padding: 10px;
    font-size: 2rem;
    transition-duration: 0.4s;
  }
  section.topics ul li p span {
    font-size: 2.6rem;
    padding-right: 0.075em;
  }
  section.topics ul li:hover {
    transform: scale(1.1);
  }
  section.news {
    width: 100%;
    margin: 0 auto;
  }
  section.news dl {
    margin: 0 auto;
  }
  section.news dl a {
    display: block;
  }
  section.news dl .news_list {
    flex-direction: column;
  }
  section.news dl .news_list dt.news_img {
    width: 100%;
    margin-bottom: 5%;
    text-align: center;
  }
  section.news dl .news_list .news_detail {
    width: 100%;
  }
  section.news dl .news_list .news_detail .news_text_1 .news_tag {
    background-color: #d5d2d2;
  }
  section.news dl .news_list .news_detail .news_text_2 strong {
    line-height: 1.5;
  }
  section.join .wrapper_join_list_1,
  section.join .wrapper_join_list_2,
  section.join .wrapper_join_list_3 {
    margin-top: 0px;
    padding-top: 0px;
  }
  section.join .wrapper_join_list_1 section.join_list,
  section.join .wrapper_join_list_2 section.join_list,
  section.join .wrapper_join_list_3 section.join_list {
    padding-top: 40px;
  }
  section.join .wrapper_join_list_1 section.join_list h3,
  section.join .wrapper_join_list_2 section.join_list h3,
  section.join .wrapper_join_list_3 section.join_list h3 {
    color: rgba(95, 94, 94, 0.231372549);
    font-weight: 800;
    font-size: 4rem;
  }
  section.join .wrapper_join_list_1 section.join_list .book_img_flex,
  section.join .wrapper_join_list_2 section.join_list .book_img_flex,
  section.join .wrapper_join_list_3 section.join_list .book_img_flex {
    flex-direction: column;
    width: 90%;
  }
  section.join .wrapper_join_list_1 section.join_list .book_img_flex .join_catch_copy,
  section.join .wrapper_join_list_2 section.join_list .book_img_flex .join_catch_copy,
  section.join .wrapper_join_list_3 section.join_list .book_img_flex .join_catch_copy {
    width: 100%;
    border: none;
    padding-top: 40px;
  }
  section.join .wrapper_join_list_1 section.join_list .book_img_flex .join_catch_copy p,
  section.join .wrapper_join_list_2 section.join_list .book_img_flex .join_catch_copy p,
  section.join .wrapper_join_list_3 section.join_list .book_img_flex .join_catch_copy p {
    font-size: 1.6rem;
  }
  section.join .wrapper_join_list_1 section.join_list .book_img_flex .join_catch_copy p span,
  section.join .wrapper_join_list_2 section.join_list .book_img_flex .join_catch_copy p span,
  section.join .wrapper_join_list_3 section.join_list .book_img_flex .join_catch_copy p span {
    display: inline-block;
  }
  section.join .wrapper_join_list_1 section.join_list .book_img_flex .join_detalis,
  section.join .wrapper_join_list_2 section.join_list .book_img_flex .join_detalis,
  section.join .wrapper_join_list_3 section.join_list .book_img_flex .join_detalis {
    width: 100%;
    border-left: none;
  }
  section.join .wrapper_join_list_1 section.join_list .book_img_flex .join_detalis .join_catch_copy_2,
  section.join .wrapper_join_list_2 section.join_list .book_img_flex .join_detalis .join_catch_copy_2,
  section.join .wrapper_join_list_3 section.join_list .book_img_flex .join_detalis .join_catch_copy_2 {
    width: 100%;
    font-size: 2rem;
    margin: 20px auto;
  }
  section.join .wrapper_join_list_1 section.join_list .book_img_flex .join_detalis p,
  section.join .wrapper_join_list_2 section.join_list .book_img_flex .join_detalis p,
  section.join .wrapper_join_list_3 section.join_list .book_img_flex .join_detalis p {
    width: 100%;
    margin: 0 auto;
  }
  section.join .join_flex_list {
    flex-direction: column;
    max-width: 350px;
    width: 90%;
    margin: 40px auto;
    gap: 0px;
  }
  section.join .join_flex_list .join_1 {
    width: 100%;
    margin-bottom: 40px;
  }
  .contact_area {
    margin: 0 auto;
    margin-top: 120px;
    margin-bottom: 120px;
  }
  .contact_area p {
    margin-bottom: 60px;
    font-size: 1.4rem;
  }
  .contact_area .contact_link {
    border: 1px solid #000000;
    padding: 40px 80px;
    background-color: #fff;
  }
  footer nav.local .footer_main {
    width: 80%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10%;
    margin-bottom: 80px;
    margin: 0 auto;
  }
  footer nav.local .footer_main .footer_main_sub {
    margin-bottom: 10%;
  }
  footer nav.local ul.footer_sub {
    flex-direction: column;
    width: 80%;
    justify-content: center;
    gap: 5%;
    margin: 0 auto;
  }
  footer nav.local ul.footer_sub li {
    margin-bottom: 20px;
  }
  footer nav.local ul.footer_sub li a {
    line-height: 1.5;
  }
  .first .main_visual_wrap section.main_visual .slider_1 p {
    font-size: 2.6rem;
  }
  .first .main_visual_wrap section.main_visual .slider_2 li.slider_li_1 img {
    width: 100%;
  }
  .first section.time_place .time_place_flex_list {
    flex-direction: column;
    width: 80%;
    margin: 0 auto;
  }
  .first section.time_place .time_place_flex_list .tp_1 {
    width: 100%;
    margin-bottom: 40px;
  }
  .first section.flow ul.flow_flex {
    flex-direction: column;
  }
  .first section.flow ul.flow_flex li p.flow_title {
    width: 50%;
  }
  .first section.flow ul.flow_flex li p.flow_image {
    background-color: #835858;
    padding-right: 10px;
    padding-bottom: 10px;
    margin-right: 10px;
  }
  .first section.flow ul.flow_flex li:nth-child(1) {
    margin: 20px 0 0 0;
    width: 100%;
  }
  .first section.flow ul.flow_flex li:nth-child(1) p.yajirushi_1 {
    width: 20%;
    position: absolute;
    top: 110%;
    left: 0%;
  }
  .first section.flow ul.flow_flex li:nth-child(1) p.yajirushi_2 {
    display: none;
    width: 20%;
    position: absolute;
    top: 250%;
    left: 20%;
  }
  .first section.flow ul.flow_flex li:nth-child(2) {
    width: 80%;
    margin: 180px 0 0 0;
  }
  .first section.flow ul.flow_flex li:nth-child(3) {
    width: 80%;
    margin: 100px 0 0 80px;
  }
  .first section.please .wrapper_please p.comment {
    width: 80%;
    text-align: justify;
    margin: 0 auto;
    padding-top: 40px;
  }
  .first section.please .wrapper_please .please_flex {
    flex-direction: column;
    width: 90%;
    padding: 10px 10px 10px 10px;
  }
  .first section.please .wrapper_please .please_flex .please_title_area {
    width: 95%;
  }
  .first section.please .wrapper_please .please_flex .please_contents {
    width: 95%;
    margin: 0 auto;
  }
  .first section.please .wrapper_please .please_flex .please_contents h4 {
    font-size: 2rem;
    padding-bottom: 10px;
    font-weight: 800;
  }
  .first section.please .wrapper_please .please_flex .please_contents p {
    font-size: 1.4rem;
  }
  .first section.qa .wrapper_qa {
    background-image: none;
  }
  .first section.qa .wrapper_qa ul.qa_all {
    padding-top: 40px;
  }
  .first section.qa .wrapper_qa ul.qa_all .qa_left {
    flex-direction: column;
    padding-bottom: 0px;
  }
  .first section.qa .wrapper_qa ul.qa_all .qa_left li.qa_list {
    width: 80%;
    margin: 0 auto;
    padding-bottom: 40px;
  }
  .first section.qa .wrapper_qa ul.qa_all .qa_left li.qa_list h3 {
    margin-bottom: 5px;
  }
  .first section.qa .wrapper_qa ul.qa_all .qa_left:last-child {
    padding-bottom: 0px;
  }
  .first section.qa .wrapper_qa .action_area {
    margin-top: 40px;
    padding-bottom: 120px;
    margin-bottom: 0px;
  }
  .first section.partner p {
    font-size: 1.6rem;
  }
  .first section.partner ul.partner_all {
    width: 80%;
    margin: 0 auto;
  }
  .first section.partner ul.partner_all li.partner_list {
    width: 30%;
  }
  .book section.main_visual {
    width: 90%;
    margin: 0 auto;
    padding-top: 80px;
  }
  .book section.main_visual h2 {
    font-size: 2rem;
  }
  .book section.main_visual ul {
    padding-top: 0px;
  }
  .book section.main_visual ul li.book_main {
    position: static;
    display: block;
    cursor: pointer;
  }
  .book section.main_visual ul li.book_main img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 30%;
    display: block;
    transition: 0.1s ease-in-out;
  }
  .book section.main_visual ul li.book_main:hover img:nth-of-type(2) {
    opacity: 0;
  }
  .book section.main_visual ul .book_sub {
    flex-direction: column;
    margin: 0 auto;
    width: 90%;
  }
  .book section.main_visual ul .book_sub li.book_sub_1 {
    width: 80%;
    margin: 0 auto;
    padding-bottom: 10px;
  }
  .book section.main_visual ul .book_sub li.book_sub_1 img:hover {
    transform: scale(4.2, 4.2);
    transition: 0.4s ease-in-out;
  }
  .book section.place {
    width: 100%;
  }
  .book section.place h2 {
    margin-bottom: 40px;
  }
  .book section.place p.event_banner img {
    width: 90%;
    max-width: 300px;
  }
  .book section.place p.request_text {
    padding-top: 40px;
    font-size: 1.4rem;
  }
  .book section.place .action_area {
    margin-top: 10px;
  }
  .book section.book_voice {
    background-size: 40%;
    margin-top: 0px;
    background-color: rgba(255, 255, 255, 0.8);
    background-blend-mode: lighten;
  }
  .book section.book_voice h2 {
    margin-bottom: 0px;
  }
  .book section.book_voice .book_voice_flex {
    flex-direction: column;
  }
  .book section.book_voice .book_voice_flex:nth-child(even) {
    padding-top: 40px;
  }
  .book section.book_voice .book_voice_flex:nth-child(even) .book_voice_1 {
    width: 80%;
    margin-bottom: 20%;
  }
  .book section.book_voice .book_voice_flex:nth-child(even) .book_voice_1 p {
    text-align: justify;
  }
  .book section.book_voice .book_voice_flex:nth-child(even) .book_voice_2 {
    width: 100%;
    font-size: 1.6rem;
    margin-bottom: 0px;
  }
  .book section.book_voice .book_voice_flex:nth-child(odd) {
    flex-direction: row-reverse;
    flex-direction: column;
  }
  .book section.book_voice .book_voice_flex:nth-child(odd) .book_voice_1 {
    width: 90%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.706), rgba(158, 168, 178, 0.112));
    border-radius: 40px 80px 10px 100px;
    background-color: rgba(254, 254, 254, 0.5647058824);
    padding: 5%;
    margin-bottom: 10%;
  }
  .book section.book_voice .book_voice_flex:nth-child(odd) .book_voice_1 p {
    text-align: justify;
  }
  .book section.book_voice .book_voice_flex:nth-child(odd) .book_voice_2 {
    width: 80%;
    font-size: 2.6rem;
  }
  .book section.book_voice .book_voice_flex:nth-child(odd) .book_voice_2 p {
    text-align: justify;
  }
  .book section.bookshelf {
    padding-bottom: 40px;
  }
  .book .action_area {
    padding-bottom: 40px;
  }
  .about .profile {
    display: block;
  }
  .about .profile .profile-img {
    width: 50%;
    margin: 0 auto;
  }
  .about .profile .profile-contents .profile-title strong {
    font-size: 1.8rem;
  }
}/*# sourceMappingURL=style.css.map */