/*---------------------------------------

	html5doctor.com Reset Stylesheet

---------------------------------------*/

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;
}
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:'';
    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 #cccccc;
    margin:1em 0;
    padding:0;
}
input, select {
    vertical-align:middle;
}



/*---------------------------------------

    font CSS

---------------------------------------*/
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 100;
}
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 200;
}
html {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
}
@media all and (-ms-high-contrast: none)  {
  html {
    font-family: Verdana, Meiryo, sans-serif;
  }
}
@media all and (-ms-high-contrast: active) {
  html {
    font-family: Verdana, Meiryo, sans-serif;
  }
}
.main__content__title .en {
    letter-spacing: 0.1;
    font-family: 'arial narrow';
}


/*---------------------------------------

	共通 CSS

---------------------------------------*/
/*
	htmlタグ
*/
*,*::before,*::after {
	box-sizing: border-box;
}
html,body {
	height: 100%;
    width: 100%;
}
body {
	position: relative;
}
img {
    max-width: 100%;
    height: auto;
}
/*
    cf
*/
.cf:before,
.cf:after {
    content:"";
    display:table;
}
.cf:after {
    clear:both;
}
.cf {
    zoom:1;
}

.fiximg {
    position:relative;
}
.fiximg img {
    position: absolute;
    object-fit: cover;
    font-family: 'object-fit: cover;';
    height: 100%;
    width:100%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

/*
	flash
*/
#flash {
    background: #FFF;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 9000;
}
#flash img {
	position: fixed;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	display: none;
	z-index: 9999;
	width: 160px;
}
@media screen and (min-width: 960px) {
    #flash img {
        width: 280px;
    }
}
/*
    screen
*/
#screen {
    position: relative;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
#screen:before {
    content:"";
    position: absolute;
}
#screen:before {
    top:0;
    left:0;
    right:0;
    bottom:0;
    margin:auto;
    z-index:1;
    background-color: rgba(0,0,0,.5);
    background-image: url(../img/dot.png);
    background-repeat: repeat;
}
#screen .screen__inner {
    position: absolute;
    width: 100%;
    height: 100%;
}
#screen .screen__inner:before,
#screen .screen__inner:after {
    content:"";
    position: absolute;
    bottom: 0;
    top: 0;
    right: 0;
    left: 0;
    margin:auto;
    background-repeat: no-repeat;
    z-index:2;
    background-size: contain;
}
#screen .screen__inner:before {
    background-image: url(../img/triangle-y-800.png);
    background-position: bottom;
}
#screen .screen__inner:after {
    background-image: url(../img/triangle-r-1000.png);
    background-position: left;

}
#screen .screen__inner img.logo {
    width:160px;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index:3;
}
@media screen and (max-width: 959px) {
    #screen {
        background-image: url(../img/screen-sp.jpg);
    }
}
@media screen and (min-width: 960px) {
    #screen {
        background-image: url(../img/screen.jpg);
    }
    #screen .screen__inner:before {
        background-image: url(../img/triangle-y-1200.png);
    }
    #screen .screen__inner img.logo {
        width:280px;
    }
}
@media screen and (min-width: 1280px) {
    #screen .screen__inner:before {
        background-image: url(../img/triangle-y-1800.png);
    }
    #screen .screen__inner:after {
        background-image: url(../img/triangle-r-1400.png);
    }
}

/* fadein */
.effect-fade {
    opacity : 0;
    transform : translate(0, 45px);
    transition : 1.2s;
}

.effect-fade.effect-scroll {
    opacity : 1;
    transform : translate(0, 0);
}

@media screen and (max-width: 960px) {
    .sp {
        display: block;
    }
    .pc {
        display: none;
    }
}
@media screen and (min-width: 960px) {
    .sp {
        display: none;
    }
    .pc {
        display: block
    }
}
/*---------------------------------------

	header CSS

---------------------------------------*/



/*---------------------------------------

	main CSS

---------------------------------------*/
/*
    共通
*/
.main__content {
    position: relative;
    padding:110px 10px;
    background-color:#fff;
}
.main__content:last-child {
    padding-bottom: 50px;
}
.main__content#main__concept:before,
.main__content#main__service:before,
.main__content#main__vision:before,
.main__content#main__company:before,
.main__content#main__concept:after,
.main__content#main__service:after,
.main__content#main__vision:after,
.main__content#main__company:after {
    content:"";
    position: absolute;
    bottom: 0;
    top: 0;
    right: 0;
    left: 0;
    z-index:2;
    margin:auto;
    background-repeat: no-repeat;
    background-size: 220%;
}
.main__content#main__concept:before,
.main__content#main__service:before,
.main__content#main__vision:before,
.main__content#main__company:before {
    top:-1px;
}
.main__content#main__concept:after,
.main__content#main__service:after,
.main__content#main__vision:after,
.main__content#main__company:after {
    bottom:-1px;
}
/* タイトル処理 */
.main__content h2 {
    font-weight: 700;
    font-size: 20px;
}
.main__content__title {
    text-align:center;
    margin-bottom:25px;
}
.main__content__title .en {
    display: inline-block;
    font-size: 30px;
    color: #DF032E;
    font-weight: 400;
    letter-spacing: 0.15em;
    vertical-align: middle;
}
.main__content__title .en:after {
    content: "";
    width: 45px;
    height: 1px;
    background: #FABE00;
    position: relative;
    top: -10px;
    margin-left: -8px;
    margin-right: -6px;
    display: inline-block;
    -webkit-transform: rotate(-51deg);
    -moz-transform: rotate(-51deg);
    -ms-transform: rotate(-51deg);
    -o-transform: rotate(-51deg);
    transform: rotate(-51deg);
}
.main__content__title .ja {
    display: inline-block;
    font-size: 14px;
    color: #DF032E;
}
/* 中身 */
.main__content__inner {
    width:100%;
    margin: 0 auto;
}


@media screen and (min-width: 960px) {
    .main__content {
        padding: 180px 0px;
    }
    .main__content:last-child {
        padding-bottom: 90px;
    }
    .main__content#main__concept:before,
    .main__content#main__service:before,
    .main__content#main__vision:before,
    .main__content#main__company:before,
    .main__content#main__concept:after,
    .main__content#main__service:after,
    .main__content#main__vision:after,
    .main__content#main__company:after {
        background-size: 105%;
    }
    .main__content__inner {
        width:980px;
    }
    .main__content__title {
        margin-bottom:75px;
    }
    .main__content__title .en {
        font-size: 34px;
    }
    .main__content__title .en:after {
        width: 77px;
        margin-left: -20px;
        margin-right: -18px;
    }
}
/*
    main__concept
*/

/* 画像処理 */
.main__content#main__concept:before {
    background-position: top;
    background-image:url(../img/triangle-y-r-800.png);
}
.main__content#main__concept:after {
    background-position: bottom;
    background-image:url(../img/triangle-r-800.png);
}
@media screen and (min-width: 960px) {
    .main__content#main__concept:before {
        background-image:url(../img/triangle-y-r-1200.png);
    }
    .main__content#main__concept:after {
        background-image:url(../img/triangle-r-1200.png);
    }
}
@media screen and (min-width: 1280px) {
    .main__content#main__concept:before {
        background-image:url(../img/triangle-y-r-1800.png);
    }
    .main__content#main__concept:after {
        background-image:url(../img/triangle-r-1800.png);
    }
}

.main__content__wrap {
    position: relative;
}
.main__content__img {
    position: relative;
    width:100%;
    overflow: hidden;
    border-radius: 3px;
}
.main__content__img:before {
    padding-top:100%;
    display: block;
    content: "";
}
.main__content__text {
    position: relative;
    background-color:#fff;
    padding: 35px 20px;
    width: 95%;
    box-shadow: 0 12px 10px -6px rgba(0,0,0,.3);
    margin: -30px auto auto;
    border-radius: 3px;
    z-index:1;
}
.main__content__text h3 {
    font-size:17px;
    line-height:1.6;
    font-weight: 700;
    margin-bottom:15px;
    color:#DF032E;
}
.main__content__text span {
    display: block;
    margin-bottom:15px;
    letter-spacing: 0.2em;
}
.main__content__text p {
    font-size:13px;
    line-height:1.6;
    color:#333;
    margin-bottom:1em;
}
.main__content__text p:last-child {
    margin-bottom:0;
}

@media screen and (min-width: 480px) {
    .main__content__text h3 {
        font-size:20px;
    }
    .main__content__text p {
       font-size:14px; 
    }
}
@media screen and (max-width: 959px) {
    .main__content__text h3,
    .main__content__text span {
        text-align: center;
    }
}
@media screen and (min-width: 960px) {
    .main__content__img {
        width:55%;
        border-radius: 10px;
        float:right;
    }
    .main__content__text {
        position: absolute;
        padding:60px 60px 60px 30px;
        width:55%;
        left: 0%;
        top: 50%;
        border-radius: 7px;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }
    .main__content__text h3 {
        font-size: 26px;
    }
    .main__content__text h3,
    .main__content__text span {
        margin-bottom:30px;
    }
}



/*
    main__service
*/
.main__content#main__service:before {
    background-position: top;
    background-image:url(../img/triangle-r-r-800.png);
}
.main__content#main__service:after {
    background-position: bottom;
    background-image:url(../img/triangle-y-800.png);
}
@media screen and (min-width: 960px) {
    .main__content#main__service:before {
        background-image:url(../img/triangle-r-r-1200.png);
    }
    .main__content#main__service:after {
        background-image:url(../img/triangle-y-1200.png);
    }
}
@media screen and (min-width: 1280px) {
    .main__content#main__service:before {
        background-image:url(../img/triangle-r-r-1800.png);
    }
    .main__content#main__service:after {
        background-image:url(../img/triangle-y-1800.png);
    }
}
.main__service__box {
    position: relative;
    background-size:cover;
    background-position: center center;
    background-image:url(../img/levelone-service-sp.jpg);
}
@media screen and (max-width: 959px) {
    .main__service__box {
        background-image:url(../img/levelone-service-sp.jpg);
    }
}
@media screen and (min-width: 960px) {
    .main__service__box {
        background-image:url(../img/levelone-service.jpg);
    }
}
.main__service__box:before {
    position: absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    margin:auto;
    z-index:1;
    background-color: rgba(0,0,0,.5);
    background-image: url(../img/dot.png);
    background-repeat: repeat;
}
.main__content__threebox {
    width:32.5%;
    margin-right:1.25%;
    float:left;
}
.main__content__threebox:last-child {
    margin-right:0;
}
.main__content__threebox:before {
    content:"";
    display: block;
    padding-top:133%;
}
.main__content__onebox {
    padding: 60px 20px;
}
.main__content__onebox:before {
    content:"";
    display: block;
}
.main__service__box {
    position: relative;
    overflow: hidden;
    border-radius: 7px;
}


.main__service__box__inner {
    text-align:center;
    position: relative;
    z-index:1;
    color:#fff;
    width:100%;
}
.main__service__box__inner h3 {
    text-align: center;
    font-size:36px;
    margin-bottom:30px;
}
.main__service__box__inner .service__img {
    text-align:center;
    margin-bottom:35px;
}
.main__service__box__inner .service__img img {
    width:230px;
}

.main__service__box__inner p.open {
    margin-bottom:30px;
}
.main__service__box__inner p.text {
    line-height:1.6;
}

@media screen and (max-width: 959px) {
    .main__service__box__inner p {
        font-size:14px;
    }
}
@media screen and (min-width: 960px) {
    .main__service__box__inner .service__img {
        margin-bottom:40px;
    }
    .main__service__box__inner .service__img img {
        width:400px;
    }
    .main__content__onebox {
        padding: 83px 0px;
    }
    .main__service__box__inner p.text {
        font-size: 14px;
    }
    .main__service__box__inner p.open {
        font-size:16px;
    }
}
/*
    main__vision
*/
.main__content#main__vision:before {
    background-position: top;
    background-image:url(../img/triangle-y-r-800.png);
}
.main__content#main__vision:after {
    background-position: bottom;
    background-image:url(../img/triangle-r-800.png);
}
@media screen and (min-width: 960px) {
    .main__content#main__vision:before {
        background-image:url(../img/triangle-y-r-1200.png);
    }
    .main__content#main__vision:after {
        background-image:url(../img/triangle-r-1200.png);
    }
}
@media screen and (min-width: 1280px) {
    .main__content#main__vision:before {
        background-image:url(../img/triangle-y-r-1800.png);
    }
    .main__content#main__vision:after {
        background-image:url(../img/triangle-r-1800.png);
    }
}
#main__vision .main__content__img {
    position: relative;
    width:55%;
    float:left;
    border-radius: 10px;
    overflow: hidden;
}
#main__vision .main__content__text {
    background-color:#fff;
    padding:60px 00px 60px 60px;
    border-radius: 7px;
    position: absolute;
    width:55%;
    right: 0%;
    left:auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index:1;
}
/*
    main__company
*/
.main__content#main__company:before {
    background-position: top;
    background-image:url(../img/triangle-y-r-800.png);
}
#main__company .main__content__inner {
    width:100%;
}
.main__content__inner table {
    width: 100%;
    border-radius: 7px;
    border-collapse: collapse;
    overflow: hidden;
}
.main__content__inner table tr {
    border-bottom: solid 2px white;
}
.main__content__inner table tr:last-child{
    border-bottom: none;
}
.main__content__inner table th,
.main__content__inner table td {
    line-height: 1.6;
}
.main__content__inner table th {
    font-weight: 400;
    position: relative;
    text-align: left;
    width: 30%;
    background-color: #DF032E;
    color: white;
    padding: 15px 10px;
}
.main__content__inner table th:after{
    display: block;
    content: "";
    width: 0px;
    height: 0px;
    position: absolute;
    top:calc(50% - 10px);
    right:-10px;
    border-left: 10px solid #DF032E;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
}
.main__content__inner table td{
    width: 70%;
    text-align: left;
    background-color: #f7f7f7;
    padding: 15px;
}
@media screen and (max-width: 959px) {
    .main__content__inner table th,
    .main__content__inner table td {
        font-size:13px;
    }
}
@media screen and (min-width: 960px) {
    .main__content#main__company:before {
        background-image:url(../img/triangle-y-r-1200.png);
    }
    #main__company .main__content__inner {
        width:680px;
    }
    .main__content__inner table th,
    .main__content__inner table td {
        padding: 30px 20px;
    }
}
@media screen and (min-width: 1280px) {
    .main__content#main__company:before {
        background-image:url(../img/triangle-y-r-1800.png);
    }
}
/*---------------------------------------

	footer CSS

---------------------------------------*/
footer {
    background-color: #333;
    padding:25px 0px;
    text-align: center;
}
.footer__top {
    margin-bottom:20px;
}
.footer__top__img img {
    width:85px;
}
.footer__bottom {
    color:#fff;
    font-size:10px;
}
@media screen and (min-width: 960px) {
    footer {
        padding: 40px 0px;
    }
    .footer__top {
        margin-bottom:35px;
    }
    .footer__top__img img {
        width:130px;
    }
    .footer__bottom {
        font-size:14px;
    }
}

