@charset "utf-8";

/*////////////////////////////////////////////////////////////
Name : style.css
////////////////////////////////////////////////////////////*/

/*----------------------------------------------------------------------------------------
	Reset
---------------------------------------------------------------------------------------- */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:normal;}
body{line-height:1}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
nav ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:none}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}
ins{background-color:#ff9;color:#000;text-decoration:none}
mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}
del{text-decoration:line-through}
abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}
table{border-collapse:collapse;border-spacing:0}
hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}
input,select{vertical-align:middle}
ol,ul {list-style:none}

/*----------------------------------------------------------------------------------------
	common settting
---------------------------------------------------------------------------------------- */
html {
	font-size:62.5%;
	height:100vh;
}
body {
	color:#848488;
	line-height:1.4;

	font-family: 'Hiragino Kaku Gothic Pro';
	font-style: normal;
}
a {
	color: #444;
	text-decoration: none;
	border:0;
	outline:none;
}
a:hover {
	filter:alpha(opacity=90);
	-moz-opacity: 0.9;
	opacity: 0.9;
	text-decoration: underline;
}
a:hover img {
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.clearfix {
  min-height: 1px;
}
* html .clearfix {
  height: 1px;
  /*¥*//*/
  height: auto;
  overflow: hidden;
  /**/
}
.disabled {
	pointer-events: none;
	opacity: 0.5;
}

/*----------------------------------------------------------------------------------------
	button
---------------------------------------------------------------------------------------- */
@media screen and (max-width: 897px) {
    .btn {
        width: 240px;
        height: 40px;
        font-size: 16px;
        line-height: 40px;
        letter-spacing: 0.08em;
    }

    .border-btn {
        width: 240px;
        height: 40px;
        font-size: 12px;
        line-height: 40px;
    }
}
/*----------------------------------------------------------------------------------------
	main
---------------------------------------------------------------------------------------- */
@media screen and (max-width: 897px) {
    .top .body {
        margin: 0 auto;
        width: 80%;
    }

    .top .body .body-item > img {
        width: 40%;
        background-size: cover;
    }

    .top .body .body-item.title {
        font-size: 20px;
        line-height: 20px;
    }

    .top .body .body-item.content {
        margin-top: 12px;
        font-size: 12px;
        line-height: 18px;
        text-align: justify;
    }

    .top .body .body-item:first-child {
        margin-top: 60%;
    }

    .top .body .body-item:last-child {
        margin: 12px 0 24px 0;
    }

    /*----------------------------------------------------------------------------------------
	ご利用事例
    ---------------------------------------------------------------------------------------- */
    .case-studies {
        padding-bottom: 48px;
    }
    .case-studies .title {
        font-size: 20px;
        line-height: 20px;
    }


    .case-studies .content .statement {
        font-size: 14px;
        line-height: 24px;
    }

    .case-studies .body-item:first-child {
        margin-top: 48px;
    }

    .case-studies .content.body-item {
        margin-top: 30px;
    }

    .case-studies .content.body-item > div {
        width: calc(100% - 100px);
        padding: 24px 20px 24px 20px;
        font-size: 12px;
        line-height: 24px;
        letter-spacing: 0.02em;
    }

    .case-studies .body-item.cards {
        margin-top: 40px;
    }

    .case-studies .body-item.cards .card {
        width: auto;
        margin: 0px;
        font-size: 14px;
        line-height: 14px;
    }

     .case-studies .body-item.cards > div {
        width: calc(100% - 100px);
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .case-studies .body-item.cards .card {
        margin-bottom: 12px;
    }

    .case-studies .body-item.cards .card > .statement {
        font-size: 14px;
        line-height: 18px;
    }

    /*----------------------------------------------------------------------------------------
	メリット
    ---------------------------------------------------------------------------------------- */
    .benefits .title {
        margin-top: 48px;
        display: flex;
    }

    .benefits .title > h2 {
        font-size: 20px;
        line-height: 30px;
        justify-content: center;
        width: 80%;
        display: inline-block;
        text-align: center;
    }

    .benefits .item > div:first-child {
        margin-right: 0;
    }

    .benefits-item-2 {
        order: 2;
    }
    
    .benefits-item-image-2{
        order: 1;
    }

    .benefits .item {
        padding: 24px;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        margin-top: 0;
    }

    .benefits .item:first-child {
        margin-top: 24px;
    }

    .benefits .item img {
        width: 100%;
        background-size: cover;
    }

    .benefits .item .content {
        width: 75%;
    }

    .benefits .item .content .item-number {
        margin: 16px 0 6px 0;
        font-size: 16px;
        line-height: 20px;
    }

    .benefits .item .content h3 {
        font-size: 16px;
        line-height: 22px;
        margin-bottom: 6px;
    }

    .benefits .item .content > p {
        font-size: 12px;
        line-height: 18px;
    }

    .benefits .btn-container {
        padding: 40px 0 48px 0;
        display: flex;
        justify-content: center;
    }

    .introduction .date {
        padding-top: 48px;
        text-align: center;
    }

    .introduction .date img {
        width: 92px;
    }
    
    .introduction .title {
        margin: 6px 0 24px 0;
        font-size: 20px;
        line-height: 20px;
    }

    .introduction .cards {
        display: flex;
        justify-content: center;
        padding-bottom: 48px;

        flex-direction: column;
    }
    
    .introduction .card {
        background-color: #fff;
        border-radius: 10px;
        margin: 0 auto;
    }

    .introduction .cards .image {
        display: flex;
        justify-content: center;
    }

    .introduction .cards .title {
        font-size: 20px;
        line-height: 16px;
    }

    .introduction .cards .image img {
        width: 300px;
    }

    .introduction .arrow-container {
       margin: 0 auto;
    }

    .introduction .arrow::after {
        transform: rotate(135deg);
    }

    .introduction .cards .statement {
        width: 200px;
        font-size: 14px;
        line-height: 18px;
    }

    .question {
        padding: 48px 0 48px 0;
    }

    .question .title > h2 {
        font-size: 20px;
        line-height: 20px;
    }

    .question .container.accordion {
        max-width: 86%;
    }

    .question .container .title {
        padding: 1em 2em 1em 1em;
        font-size: 14px;
        line-height: 14px;
    }

    .question .container .title img {
        width: 12px;
    }

    .question .btn-container {
        padding-top: 0px;
        display: flex;
        justify-content: center;
    }

    .fixed-bar .btn-container {
        padding: 8px 0;
    }
    
    .fixed-bar .btn-container .border-btn:first-child {
        margin-right: 40px;
    }

    footer {
        height: 50px;
    }

    .fixed-bar {
        display: none;
    }

    .margin-box {
        display: none;
    }

    .contact .form {
        width: 70%;
    }
}

@media screen and (max-width: 835px) {
    .case-studies .body-item.cards > div {
        width: calc(100% - 100px);
        flex-direction: column;
    }

    .case-studies .body-item.cards .card {
        margin: 0 auto;
        width: auto;
        padding-bottom: 24px;
    }
    .case-studies .body-item.cards .card:last-child {
        margin-right: auto;
    }
}