@charset "UTF-8";
@import "base.css";
@import "fonts.css";

/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////  株式会社アートピース //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      *
/*                                                                          */
/*==========================================================================*/

/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/

/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
.index01 .container03 .box_content h1,
h2,
h3,
h4,
h5,
h6,
input,
button,
textarea,
select,
p,
blockquote,
th,
td,
pre,
address,
li,
dt,
dd {
    font-size: 140%;
}



p,
dt,
dd,
td,
li {
    line-height: 1.7em;
}

p {
    line-height: 1.7em;
}


/* common_reset
------------------------------------------------------------------------*/

img {
    border: 0;
    vertical-align: bottom;
}

.center {
    text-align: center
}

.fLeft {
    float: left !important
}

.fRight {
    float: right !important
}

.clearBoth {
    clear: both
}



/*==========================================================================*/
/*                            Container                                     */
/*==========================================================================*/

html {
    background: none;
    max-width: 100%;
}

body {
    text-align: center;
    max-width: 100%;
    color: #241800;
    overflow-x: hidden;
}

#main {
    overflow: hidden;
    position: relative;
    max-width: 1170px;
    padding: 0;
    margin: 0 auto;
    box-sizing: border-box;
}

#index #main {
    max-width: 100%;
    padding-top: 80px;
}

#wrapper {
    text-align: left;
}

.inner {
    max-width: 1220px;
    margin: 0 auto;
}

/*==========================================================================*/
/*                             Contents                                     */
/*==========================================================================*/

/* contents
------------------------------------------------------------------------*/

#content {
    width: 745px;
    float: right;
    min-height: 700px;
    padding-top: 7px;
}

@font-face {
    font-family: 'NotoSansCJKjp';
    src: url('../fonts/NotoSansCJKjp-Regular.otf');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'NotoSansCJKjp_bold';
    src: url('../fonts/NotoSansCJKjp-Bold.otf');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'EBGaramond';
    src: url('../fonts/EBGaramond-Italic.ttf');
    font-weight: normal;
    font-style: normal;
}


/* ------------------------------------------------------------------- base */


.pb0 {
    padding-bottom: 0 !important
}

.mb0 {
    margin-bottom: 0 !important
}

.mb20 {
    margin-bottom: 20px
}

.mb25 {
    margin-bottom: 25px
}

.mb30 {
    margin-bottom: 30px
}

.mb45 {
    margin-bottom: 45px
}

.pb20 {
    padding-bottom: 20px
}

.pb25 {
    padding-bottom: 25px
}

.pb30 {
    padding-bottom: 30px
}

.pb35 {
    padding-bottom: 35px
}

.w20 {
    width: 20%;
}

.w25 {
    width: 25%;
}

.w30 {
    width: 30%;
}

.w33 {
    width: 33%;
}

.w50 {
    width: 50%;
}

.mr15 {
    margin-right: 15px;
}

.mr30 {
    margin-right: 30px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb15 {
    margin-bottom: 15px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb25 {
    margin-bottom: 25px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb35 {
    margin-bottom: 35px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb45 {
    margin-bottom: 45px;
}

.mb50 {
    margin-bottom: 50px;
}

.sp_mb10 {
    margin-bottom: 10px;
}

.w14 {
    width: 14%;
}

.w16 {
    width: 16%;
}

.w25 {
    width: 30%;
}

/*==========================================================================*/
/*                               Header                                     */
/*==========================================================================*/


.index-main {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background: url(../images/header.png) top center no-repeat;
    background-size: cover;
    width: 100%;
    height: 615px;
    padding-top: 51.25%;
}


/*----------------------------box01----------------------------------*/

.pc {
    display: block;
}

.sp {
    display: none;
}


.index_box01 {
    margin: 70px auto;
}

.index_box01 .wrap_items {

    padding: 0 15px;
    justify-content: center;
}

.index_box01 .item {
    margin-right: 30px;
    text-align: center;
    display: inline-block;
    width: 30%;
}

.index_box01 .item:nth-child(3n+3) {
    margin-right: 0;
}

.index_box01 .item .img {
    margin-bottom: 11px;
}

.index_box01 .item .img:nth-of-type(3) img {
    width: 75%;
}


.index_box01 .item:nth-child(3) .img:nth-of-type(3) img {
    width: 100%;
}

.index_box01 .item .txt {
    width: 250px;
    font-weight: normal;
    font-size: 14px;
    line-height: 1.8;
    text-align: justify;
    text-align-last: left;
    margin: 0 auto;
}

/*----------------------------box02----------------------------------*/
.index_box02 {
    padding: 50px 0 50px;
    background: #ECF6FC;
    background-size: cover;
    position: relative;
    max-width: 1200px;
    margin: 100px auto;
}

.index_box02 h3 {
    text-align: center;
    margin-bottom: 58px;
    display: table;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.index_box02 .wrap_items {
    display: flex;
    flex-wrap: wrap;
    padding: 0 15px;
    justify-content: center;
}

.index_box02 .item {
    margin-right: 2%;
    text-align: center;
    width: calc((100% - 80px) / 4);
}

.index_box02 .item .img img {
    width: 200px;
}

.index_box02 .item:nth-child(4n+4) {
    margin-right: 0;
}

.index_box02 .item .img {
    margin-bottom: 11px;

}

.index_box02 .item .txt_em {
    width: 250px;
    font-weight: bold;
    font-size: 17px;
    line-height: 1.8;
    text-align: center;
    margin: 0 auto;
    color: #004B9E;
}

.index_box02 .item .txt {
    width: 235px;
    font-weight: normal;
    font-size: 14px;
    line-height: 1.8;
    text-align: justify;
    text-align-last: left;
    margin: 0 auto;
}

/*----------------------------box03----------------------------------*/
.index_box03 {
    margin: 150px auto;
}

.index_box03 h3 {
    text-align: center;
    margin-bottom: 58px;
    display: table;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.index_box03 .wrap_items {
    display: flex;
    flex-wrap: wrap;
    padding: 0 15px;
    justify-content: center;
}

.index_box03 .item {
    margin-right: 30px;
    text-align: center;
    /*     width: calc((100% - 400px) / 3); */
    position: relative;
    left: 35px;
}

.index_box03 .item .img img {
    width: 270px;
}

#index_box03 .item:nth-child(3n+3) {
    margin-right: 0;
}

.index_box03 .item .img {
    margin-bottom: 11px;

}

.index_box03 .item .txt_em {
    width: 250px;
    font-weight: bold;
    font-size: 17px;
    line-height: 1.8;
    text-align: center;
    margin: 0 auto;
    color: #004B9E;
}


.index_box03 .atten .txt_atten {
    width: 90%;
    font-weight: thin;
    font-size: 12px;
    line-height: 1.5;
    text-align: justify;
    text-align-last: left;
    margin: 50px auto 0;
}

.index_box03 .item svg {
    width: 260px;
    height: 20px;
    position: relative;
    right: 5px;
    top: 5px;
}

.index_box03 .item svg line {
    fill: none;
    stroke: #004B9E;
    stroke-width: 10;
    stroke-linecap: round;
    stroke-dasharray: 0.5, 20;
}


/*----------------------------index02----------------------------------*/



.index02 h3 {
    text-align: center;
    margin-bottom: 0;
    display: table;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}


.index02_box01 {
    background: #F8F7DC;
    background-image: url("../images/modelcase.png");
    background-size: 1077px 2271px;
    background-repeat: no-repeat;
    background-position: center;
    height: 2700px;
    padding: 50px 0 20px;
    box-sizing: border-box;
    max-width: 1200px;
    margin: 0 auto;
}

.txt02-title p {
    text-align: center;
    line-height: 35px;
    font-size: 20px;
    font-family: 'NotoSansCJKjp';
    margin-bottom: 40px;
    font-weight: bold;
}

.txt02-timeline p {
    width: 350px;
    font-weight: normal;
    font-size: 14px;
    line-height: 1.8;
    text-align: justify;
    text-align-last: left;
    margin: 0 auto;
}

.txt02_em {
    font-weight: bold;
}

.txt02-5 p {
    width: 430px;
    font-weight: bold;
    font-size: 17px;
    line-height: 1.8;
    text-align: left;
    margin: 0 auto;
    color: #004B9E;
}

.txt02-1 {
    position: relative;
    top: 225px;
    left: 300px;
}

.txt02-2 {
    position: relative;
    top: 850px;
    left: 300px;
}

.txt02-3 {
    position: relative;
    top: 1200px;
    right: 220px;
}

.txt02-4 {
    position: relative;
    top: 1595px;
    left: 300px;
}

.txt02-5 {
    position: relative;
    top: 1910px;
    left: 137px;
}



/*----------------------------index03----------------------------------*/
.index03 {
    margin: 150px auto;
}

.index03 h3 {
    text-align: center;
    margin-bottom: 58px;
    display: table;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}

.index03 .wrap_items {
    display: flex;
    flex-wrap: wrap;
    padding: 0 15px 50px;
    justify-content: center;
}

.index03 .item {
    margin-right: 35px;
    text-align: center;
    position: relative;
    left: 35px;
    display: inline-block;
    vertical-align: top;
}

#index03 .item:nth-child(4n+4) {
    margin-right: 0;
}

.index03 .item .img {
    margin-bottom: 11px;

}

.index03 .item .txt_em {
    width: 200px;
    font-weight: bold;
    font-size: 17px;
    line-height: 1.8;
    text-align: justify;
    text-align-last: left;
    margin: 0 auto;
    color: #004B9E;
    position: relative;
    top: 80px;
}


/*==========================================================================*/
/*                            navigation                                    */
/*==========================================================================*/

#navi {
    float: left;
    width: 235px;
    text-align: center;
}

#navi p {
    padding-bottom: 0;
}


/*==========================================================================*/
/*                              Footer                                      */
/*==========================================================================*/

.campaign_body footer {
    position: absolute;
    left: calc(50% - 299px/2);
}

/* clearfix
------------------------------------------------------------------------*/

body,
div {
    zoom: 1;
}

.index01:after,
.index02:after,
.index03:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    line-height: 0;
    visibility: hidden;
}


#page-top {
    position: fixed;
    bottom: 55px;
    right: 20px;
    font-size: 77%;
}

#page-top img {
    width: 45px;
}

#page-top a {
    background: #666;
    text-decoration: none;
    color: #fff;
    width: 100px;
    padding: 30px 0;
    text-align: center;
    display: block;
    border-radius: 5px;
}

#page-top a:hover {
    text-decoration: none;
    background: #999;
}



.anchor {
    position: fixed;
    bottom: 50px;
    left: 50%;
    z-index: 2;
    margin-left: -235px;
}