@charset "UTF-8";

@media screen and (max-width: 600px) {

  /* top */
  #top #main_slide {
    width: 92%;
    margin: 0 auto;
  }

  /* top topics */
  #top #topics {
    width: 86%;
    margin: 3em auto 4em;
    display: block;
    justify-content: space-between;
    align-items: flex-start;
    text-align: left;
  }

  #top #topics h3 {
    width: 100%;
    margin-bottom: 1em;
  }

  /* top pickup */
  #top #pickup {
    position: relative;
    background-color: #EBEBE8;
    padding: 4%;
    margin-bottom: 0;
  }

  #top #pickup .arrow_swiper {
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    background-color: #FFF;
  }

  #top #pickup .swiper-slide {
    display: flex;
    flex-direction: column;
  }

  #top #pickup .swiper-slide .left {
    order: 2;
    width: 100%;
    text-align: center;
    padding: 4em 7% 6em;
  }

  #top #pickup .swiper-slide .left .catch {
    margin-bottom: 1.5em;
  }

  #top #pickup .swiper-slide .left .catch:after {
    height: 15px;
    margin: 0.6em auto 0;
  }

  #top #pickup .swiper-slide .left .title {
    margin-bottom: 1em;
  }

  #top #pickup .swiper-slide .left .honbun {
    text-align: justify;
    width: 75%;
    margin: 0 auto 3em;
  }

  #top #pickup .swiper-slide .right {
    order: 1;
    width: 100%;
    margin: 0 auto;
  }

  #top #pickup .swiper-button-prev, #top #pickup .swiper-button-next {
    top: 75%;
  }

  /* top contents */
  #top #contents {
    width: 80%;
    margin: 4em auto 0;
  }

  #top #contents ul {
    display: block;
  }

  #top #contents ul li {
    width: 100%;
    display: block;
    padding: 0;
    margin-bottom: 3em;
    border-right: none;
  }

  #top #contents ul li figure {
    width: 100%;
  }

  #top #contents ul li section {
    width: 100%;
    padding: 2em 3%;
  }

  #top #contents ul li#company figure {
    order: 2;
  }

  #top #contents ul li#company section {
    order: 1;
  }

  #top #contents ul li:nth-child(3n) {
    border-right: none;
  }

  #top #contents ul li .thumb {
    margin-bottom: 0;
  }

  #top #contents ul li h3 {
    margin-bottom: 1.5em;
  }

  #top #contents ul li .caption {
    padding: 0;
  }

  #top #contents ul li .caption p {
    width: 78%;
    text-align: justify;
  }

  /* top column */
  #top #column {
    width: 92%;
    border: 1px solid #707070;
    background-color: #EBEBE8;
    padding: 4em 8% 5em;
    margin: 5em auto;
    display: block;
  }

  #top #column #left {
    width: 100%;
    text-align: left;
    flex-direction: column;
  }

  #top #column #left h3 {
    margin-bottom: 2em;
  }

  #top #column #left p {
    width: 100%;
    margin-bottom: 3em;
    text-align: justify;
  }

  #top #column #right {
    width: 100%;
  }

  #top #column #right .arrow_swiper {
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
  }

  #top #column #right .swiper-wrapper {
    align-items: center;
  }

  #top #column #right .swiper-slide {
    width: 100%;
    padding: 5%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
  }

  #top #column #right .swiper-slide dl {
    width: 100%;
    order: 2;
    padding: 5%;
  }

  #top #column #right .swiper-slide figure {
    width: 100%;
    order: 1;
  }

  #top #column #right .swiper-slide dl .category {
    margin-bottom: 1em;
  }

  #top #column #right .swiper-slide dl .title {
    margin-bottom: 1em;
  }

  #top #column #right .swiper-slide dl .title span {
    display: block;
    margin-bottom: 0.3em;
  }

  #top #column #right .swiper-button-prev, #top #column #right .swiper-button-next {
    top: 50%;
  }

  #top #column #right .arrow_swiper .swiper-button-next {
    right: -8%;
  }

  #top #column #right .arrow_swiper .swiper-button-prev {
    left: -8%;
  }

  /* top news */
  #top #news {
    width: 86%;
    margin: 0 auto 7em;
    display: block;
  }

  #top #news .midashi {
    width: 100%;
    margin-bottom: 2em;
  }

  #top #news .midashi h3 {
    margin-bottom: 0;
  }

  #top #news .midashi .link_button {
    display: none;
  }

  /* top news 共通 */
  #top .news_list {
    width: 100%;
  }

  #top .news_list li {
    border-bottom: 1px solid #707070;
    padding-bottom: 1.25em;
    margin-bottom: 2.2em;
  }

  #top .news_list li:last-child {
    margin-bottom: 0;
  }

  #top .news_list li .date {
    color: #9A9A9A;
  }

  #top .news_list li .date .category {
    color: #121212;
    margin-left: 1.5em;
  }

  #top .news_list li h4 {
    margin-top: 0.5em;
    line-height: 1.85;
    padding-right: 10%;
  }

  /* history */
  #history section {
    margin-bottom: 7em;
  }

  #history section .chapter {
    margin-bottom: 1em;
  }

  #history section .chapter span {
    padding-bottom: 0.3em;
    border-bottom: 1px solid #707070;
  }

  #history section .midashi {
    margin-bottom: 0.5em;
    letter-spacing: 0.12em;
  }

  #history section .flex {
    margin-top: 2em;
    display: block;
  }

  #history section .flex figure {
    width: 100%;
  }

  #history section .flex .detail {
    width: 95%;
    margin: 0 auto;
    padding: 1.5em 0 0;
  }

  #history section .flex .detail p {
    margin-bottom: 1em;
    font-size: 1.1em;
    line-height: 2;
  }

  #history section .flex .detail .arrow_swiper {
    width: 100%;
    margin: 4em auto 0;
  }

  #history section .flex .detail .swiper-slide {
    padding: 3em 14%;
  }

  #history #chapter2 .flex figure, #history #chapter4 .flex figure, #history #chapter6 .flex figure {
    order: 2;
  }

  #history #chapter2 .flex .detail, #history #chapter4 .flex .detail, #history #chapter6 .flex .detail {
    order: 1;
    padding: 1.5em 0 0;
  }

  #history section .flex .detail .swiper-button-next {
    right: 3%;
  }

  #history section .flex .detail .swiper-button-prev {
    left: 3%;
  }

  /* company rinen */
  #company #rinen {
    margin: 4em auto 5em;
  }

  #company #rinen #text_about p {
    line-height: 2.2;
    letter-spacing: 0.15em;
  }

  #company #rinen #dantsu {
    width: 86%;
    margin: 6em auto 6em;
    border: 1px solid #707070;
    padding: 4em 8% 5em;
  }

  #company #rinen #dantsu h3 {
    margin-bottom: 2em;
    border-left: 1px solid #707070;
  }

  #company #rinen .movie_button {
    width: 280px;
    padding: 20px;
  }

  /* company info */
  #company #info {
    width: 90%;
    margin: 0 auto;
    padding: 0 8%;
  }

  #company #info #message {
    width: 100%;
    padding: 1em 0 0;
    margin: 0 auto;
    background-color: transparent;
    flex-direction: column;
  }

  #company #info #message figure {
    width: 85%;
    margin: 4em auto 0;
    order: 2;
  }

  #company #info #message section {
    text-align: left;
    width: 100%;
    order: 1;
  }

  #company #info #message section #honbun {
    margin-bottom: 2em;
  }

  #company #info #gaiyo {
    margin-top: 7em;
  }

  #company #info #gaiyo dl {
    margin-bottom: 1.5em;
  }

  #company #info #gaiyo dl:last-child {
    margin-bottom: 0;
  }

  #company #info #gaiyo dl dt {
    width: 15%;
    margin-right: 3%;
  }

  #company #info #gaiyo dl dd {
    width: 80%;
  }

  /* craft */
  #craft #flow {
    width: 86%;
    margin: 0 auto 5em;
    padding: 0;
    border-right: none;
    border-left: none;
  }

  #craft #flow .sub_title {
    margin-bottom: 2.5em;
  }

  #craft #flow .flex {
    display: flex;
    flex-direction: column;
    margin-bottom: 5em;
    background-color: #FFF;
  }

  #craft #flow .flex section {
    width: 100%;
    padding: 3em 10%;
    order: 2;
  }

  #craft #flow .flex section h3 {
    margin-bottom: 1em;
  }

  #craft #flow .flex section p {
    text-align: justify;
  }

  #craft #flow .flex .layer_swiper {
    width: 100%;
    order: 1;
  }

  #craft #flow #ori_detail {
    margin: 5em auto;
  }

  #craft #flow #ori_detail #teori {
    padding: 3em 7%;
    background-color: #EBEBE8;
    margin-bottom: 5em;
  }

  #craft #flow #ori_detail #tesashi {
    padding: 3em 7%;
    background-color: #EBEBE8;
    margin-bottom: 5em;
  }

  #craft #flow #ori_detail figure {
    display: block;
  }

  #craft #flow #ori_detail figure picture {
    width: 100%;
    display: block;
    margin-bottom: 1em;
  }

  #craft #flow #ori_detail figure picture:nth-child(2n) {
    margin-bottom: 0;
  }

  #craft #flow #ori_detail section {
    width: 100%;
    margin: 0 auto;
    padding: 0 0 2em;
  }

  #craft #flow #ori_detail section h4 {
    text-align: center;
    margin-bottom: 1.2em;
  }

  #craft #flow #ori_detail section p {
    text-align: justify;
  }

  #craft .page_baner {
    width: 75%;
    margin: 0 auto 7em;
    padding: 5em 6%;
    border: 1px solid #3e3e3e;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  #craft .page_baner p {
    text-align: justify;
    width: 45%;
  }

  #craft .page_baner {
    width: 90%;
    margin: 0 auto 5em;
    padding: 4em 8%;
    border: 1px solid #707070;
    display: block;
  }

  #craft .page_baner p {
    text-align: justify;
    width: 100%;
    margin: 2em auto;
  }

  /* maintenance */
  #maintenance #maintenance_photo {
    width: 100%;
    margin: 5em auto;
    display: block;
  }

  #maintenance #maintenance_photo #left {
    width: 100%;
    display: block;
  }

  #maintenance #maintenance_photo picture {
    width: 100%;
    display: block;
  }

  #maintenance #maintenance_photo #left picture:nth-child(2) {
    margin-top: 2em;
  }

  #maintenance #maintenance_photo #right {
    margin-top: 2em;
    width: 100%;
  }

  #maintenance #column {
    width: 92%;
    padding: 4em 8% 5em;
    margin: 0 auto 5em;
  }

  #maintenance #column figure {
    display: block;
  }

  #maintenance #column figure picture {
    width: 100%;
    margin: 0 auto 2em;
    display: block;
  }

  #maintenance #column p {
    text-align: justify;
    margin: 3em auto 0;
    width: 90%;
  }

  #maintenance #detail {
    width: 90%;
    margin: 0 auto 5em;
    padding: 0 8%;
    border-right: 1px solid #707070;
    border-left: 1px solid #707070;
  }

  #maintenance #detail section {
    width: 100%;
    margin: 0 auto 5em;
  }

  #maintenance #detail section h3 {
    margin-bottom: 1.5em;
  }

  #maintenance #detail section li {
    margin-bottom: 0.5em;
  }

  #maintenance #detail section figure {
    margin: 3em auto;
    width: 100%;
  }

  #maintenance #detail section figure img {
    width: 28%;
  }

  #maintenance #detail section .button {
    margin-top: 3em;
    padding-bottom: 2em;
  }

  #maintenance #detail #flow p {
    margin-bottom: 1em;
  }

  /* custommade gaiyo */
  #custommade #gaiyo {
    width: 90%;
    margin: 0 auto 5em;
    padding: 0 8%;
    border-right: 1px solid #707070;
    border-left: 1px solid #707070;
  }

  #custommade #gaiyo #service {
    width: 100%;
    margin: 0 auto 5em;
  }

  #custommade #gaiyo #service h3 {
    margin-bottom: 1.5em;
  }

  #custommade #gaiyo #service p {
    margin-bottom: 1em;
  }

  #custommade #gaiyo .type {
    width: 100%;
    margin: 0 auto 5em;
  }

  #custommade #gaiyo .type h4 {
    text-align: center;
    margin-bottom: 2em;
  }

  #custommade #gaiyo .type h4 span {
    display: inline-block;
    background-color: #121212;
    color: #FFF;
    padding: 0 0.5em;
    margin-right: 1em;
  }

  #custommade #gaiyo .type .type_detail {
    display: block;
    margin-bottom: 5em;
  }

  #custommade #gaiyo .type .type_detail p {
    width: 100%;
    margin-bottom: 2em;
  }

  #custommade #gaiyo .type .type_detail img {
    width: 100%;
  }

  #custommade #gaiyo .type .type_flow {
    margin-bottom: 3em;
  }

  #custommade #gaiyo .type .type_flow h5 {
    margin-bottom: 2em;
  }

  #custommade #gaiyo .type .type_flow dl {
    margin-bottom: 2em;
  }

  #custommade #gaiyo .type .type_flow dt {
    margin-bottom: 0.5em;
  }

  #custommade #gaiyo .type .type_flow dd figure {
    width: 100%;
    margin: 1em auto;
  }

  /* custommade order */
  #custommade #kisei {
    width: 92%;
    margin: 5em auto;
  }

  #custommade #fullorder {
    width: 92%;
    margin: 0 auto 5em;
  }

  #custommade #kisei h2 {
    padding: 2em 0;
    border-bottom: 1px solid #FFF;
  }

  #custommade #fullorder h2 {
    padding: 2em 0;
    border-bottom: 1px solid #FFF;
  }

  #custommade .flex {
    flex-direction: column;
    padding: 4em 8%;
    border-bottom: 1px solid #FFF;
  }

  #custommade .flex .left {
    width: 100%;
    text-align: left;
  }

  #custommade .flex .left h3 {
    text-align: center;
    margin-bottom: 1.5em;
  }

  #custommade .flex .left p {
    margin-bottom: 1em;
  }

  #custommade .flex .left a {
    margin: 2em auto 4em;
  }

  #custommade .flex .right {
    width: 100%;
    display: flex;
    align-items: center;
    position: relative;
  }

  #custommade .flex .right .arrow_swiper {
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
  }

  #custommade .flex .right .swiper-wrapper {
    align-items: center;
  }

  #custommade .flex .right .swiper-slide {
    width: 100%;
    padding: 0 8%;
    flex-direction: column;
  }

  #custommade .flex .right .swiper-slide figure {
    width: 100%;
    padding-right: 0;
  }

  #custommade .flex .right .swiper-button-next {
    right: -4%;
  }

  #custommade .flex .right .swiper-button-prev {
    left: -4%;
  }

  /* showroom */
  #showroom #yamagata {
    width: 92%;
    margin: 0 auto 5em;
  }

  #showroom #tokyo {
    width: 92%;
    margin: 0 auto 5em;
  }

  #showroom .flex {
    border-top: 1px solid #707070;
    padding: 4em 0 0;
    flex-direction: column;
  }

  #showroom .flex .left {
    width: 100%;
    padding: 0 8%;
  }

  #showroom .flex .left h3 {
    text-align: center;
    margin-bottom: 1.5em;
  }

  #showroom .flex .left p {
    margin-bottom: 1em;
    text-align: justify;
  }

  #showroom .flex .left .button {
    margin-top: 1em;
  }

  #showroom .flex .right {
    width: 100%;
    margin-top: 4em;
  }

  #showroom .flex .right .layer_swiper {
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
  }

  #showroom .flex .right .swiper-slide {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  /* project */
  #project {
    width: 92%;
    margin: 0 auto;
  }

  #project #category {
    margin: 0 auto 3em;
  }

  #project #category ul {
    text-align: left;
    border-bottom: 1px solid #707070;
    padding-bottom: 1em;
  }

  #project #category ul li {
    padding: 0 0.5em;
  }

  #project #category ul li.current {
    color: #9A9A9A;
  }

  #project .item {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 4em;
  }

  #project .item .list {
    width: 100%;
    padding: 0 0 2em;
    border-right: none;
    border-bottom: 1px solid #E8E8E2;
    margin-bottom: 3em;
  }

  #project .item .list:nth-last-of-type(-n+3) {
    margin-bottom: 3em;
  }

  #project .item .list:last-child {
    border-bottom: none;
    margin-bottom: 0;
  }

  /* project single */
  #project #single {
    width: 100%;
  }

  #project #single h1 {
    margin-bottom: 1.5em;
  }

  #project #single figure img {
    margin-bottom: 2em;
  }

  #project #single p {
    width: 85%;
    text-align: left;
  }

  #project #other_project {
    margin: 5em auto 5em;
    text-align: left;
  }

  #project #other_project h3 {
    margin-bottom: 2em;
  }

  #project #other_project ul li {
    display: block;
  }

  #project #other_project ul li .spbr {
    display: inline-block;
  }

  #project #other_project ul li:first-child {
    display: none;
  }

  #project #other_project ul li .other_title {
    width: 100%;
    margin-bottom: 1em;
  }

  #project #other_project ul li .other_architect {
    width: 100%;
  }

  #project #other_project ul li .other_construction {
    width: 100%;
  }

  #project #other_project ul li .other_year {
    width: 100%;
  }

  #project #other_project ul li .other_place {
    width: 100%;
  }

  #project #other_project ul li .other_category {
    width: 100%;
  }

  /* policy, terms */
  #index #detail {
    width: 90%;
    margin: 0 auto 5em;
    padding: 0 8%;
    border-right: 1px solid #707070;
    border-left: 1px solid #707070;
  }

  #index #detail section {
    width: 100%;
    margin: 0 auto 5em;
  }

  #index #detail section h3 {
    margin-bottom: 1.5em;
  }

  #index #single {
    width: 90%;
    margin: 0 auto 5;
  }

  /* contact */
  #contact {
    width: 86%;
    margin: 0 auto 7em;
  }

  #contact #catch p {
    width: 100%;
  }

  #contact #contact_list {
    width: 100%;
    margin: 0 auto 7em;
  }

  #contact #contact_list ul {
    display: block;
  }

  #contact #contact_list ul li {
    width: 100%;
    margin-bottom: 2em;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  #contact #contact_list ul li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  #contact #contact_list ul li .thumb {
    width: 28%;
  }

  #contact #contact_list ul li h3 {
    width: 72%;
    padding-left: 1.2em;
    font-size: 1.1em;
    margin-right: 0;
  }

  #contact #contact_list ul li h3.arrow:after {
    display: none;
  }

  #contact #introduction {
    width: 100%;
  }

  #contact #form {
    width: 100%;
  }

  #contact #annotation {
    width: 100%;
    text-align: left;
  }

  /* 下層共通 */
  #catch {
    margin: 4em auto 6em;
  }

  #catch h3 {
    text-align: center;
    margin-bottom: 2em;
  }

  #catch p {
    width: 80%;
  }

  #catch a .other_button {
    margin: 3em auto 0;
    display: block;
    width: 200px;
  }

  .image_photo {
    width: 100%;
    margin: 5em auto;
  }

  /* recruit */
  #recruit #detail {
    width: 86%;
    margin: 0 auto 7em;
  }

  #recruit #detail section {
    margin: 0 auto 5em;
  }

  #recruit #job_detail {
    width: 90%;
    margin: 0 auto 5em;
  }

  #recruit #job_detail section {
    padding: 1em 8%;
    margin: 0 auto 5em;
  }

  #recruit #job_detail section h4 {
    margin-bottom: 2em;
    padding-bottom: 0.15em;
  }

  #recruit #job_detail section p {
    margin-bottom: 3em;
  }

  #recruit #job_detail section .outline {
    border-bottom: 1px dashed #3e3e3e;
    margin-bottom: 2em;
    padding-bottom: 2em;
    display: block;
  }

  #recruit #job_detail section .outline dt {
    width: 100%;
  }

  #recruit #job_detail section .outline dd {
    width: 100%;
  }

  /* stockist */
  #stockist #detail {
    width: 90%;
    margin: 0 auto 5em;
  }

  #stockist #detail .shoplist {
    margin: 0 auto 5em;
    text-align: center;
  }

  /* download */
  #download #list {
    width: 90%;
    margin: 0 auto 5em;
  }

  #download #list section {
    margin: 0 auto 5em;
    text-align: left;
  }

  #download #list section ul li {
    display: block;
  }

  /* members */
  #members #detail {
    width: 90%;
    margin: 0 auto 5em;
    padding: 0 8%;
    border-right: 1px solid #707070;
    border-left: 1px solid #707070;
  }

  #members #detail section {
    width: 100%;
    margin: 0 auto 5em;
  }
}