@charset"utf-8";

div#luxy {
    background-image: url("../images/Justicia.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: grid;
    grid-template-rows: auto auto;
    grid-template-columns: 2fr 3fr 1fr;
    grid-template-areas:
    "hero hero hero"
    "footer footer footer";
}

div#mainContent{
    grid-area: hero;
    position: relative;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.7);
    overflow-y: auto;
}

#header {
    margin: 20px 0 0 70%;
    padding-bottom: 20px;
}

#article {
    margin-top: 20px;
}

/* ここから */

h1 {
    font-size: 2em;
    padding: 60px 80px 80px 80px;
    text-align: center;
    letter-spacing: 5px;
}

.accordion dt > a {
    text-align: center;
    font-weight: 700;
    padding: 2em;
    display: block;
    text-decoration: none;
    color: #fff !important;
    transition: background-color 0.5s ease-in-out;
    position: relative;
}

.accordion dd {
    background-color: #fff;
    color:#000;
    font-size: 1em;
    line-height: 1.5em;
    font-weight: bold;
}
  
.accordion dd > p {
    padding: 40px 20px 10px 20px;
    text-align: center;
}

p.text1 {
    padding: 40px 0 10px 0 !important;
    margin: 0 auto;
    text-align: left !important;
    width: 80%;
}

p.text2 {
    padding: 40px 0 10px 0 !important;
    margin: 0 auto;
    text-align: left !important;
    width: 90%;
}

p.txtContract {
    padding-bottom: 40px !important;
}

p.txt2 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

p.txt3 {
    padding: 40px 0px 5px 0px !important;
    margin: 0 5% 75px 5% !important;
    border-bottom: 1px solid #000;
    text-align: left !important;
}

p.step {
    margin: 0 auto 10px auto;
    width: 60%;
    text-align: left;
}

p.attension {
    padding: 0 !important;
    margin-bottom: 10px;
    color: red;
    font-size: 14px;
}

p.attension2 {
    padding: 0 !important;
    margin-bottom: 40px;
    color: red;
    font-size: 14px;
}

table.consultation {
    width: 80%;
    margin: 0 10% 40px 10%;
    height: 200px;
    border-collapse: collapse;
    font-size: 14px;
}

table.consultation.Advisor {
    width: 90%;
    margin: 0 5% 40px 5%;
    height: 200px;
    border-collapse: collapse;
}

table.consultation td {
    padding-left: 10px;
}

table.consultation2 {
    width: 60%;
    margin: 0 20% 80px 20%;
    height: 100px;
    border-collapse: collapse;
    font-size: 14px;
}

table.consultation2 td {
    padding-left: 10px;
}

.accordion {
    position: relative;
    background-color: #fff;
    margin: 0 10% 80px 10%;
}
  
.container {
    max-width: 100%;
    margin: 0 auto;
    font-family: "游明朝体","Yu Mincho",YuMincho,"ヒラギノ明朝 Pro","Hiragino Mincho Pro","MS P明朝","MS PMincho","Noto Serif JP",serif;
}

.accordionTitle {
    background-color: #002e00;
    border-bottom: 1px solid #005300;
}

.accordionTitle:before {
    content: "+";
    font-size: 1.5em;
    float: left;
    -moz-transition: -moz-transform 0.3s ease-in-out;
    -o-transition: -o-transform 0.3s ease-in-out;
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    position: absolute;
    left: 20px;
    top: 50%;
    line-height: 0em;
}

.accordionTitle:hover {
    background-color: #005300;
}
  
.accordionTitleActive {
    background-color:#007900;
}

.accordionTitleActive:before {
    -webkit-transform: rotate(-225deg);
    -moz-transform: rotate(-225deg);
    transform: rotate(-225deg);
}
  
.accordionItem {
    height: auto;
    overflow: hidden;
}

@media all {
    .accordionItem {
      max-height: 100em;
      -moz-transition: max-height 1s;
      -o-transition: max-height 1s;
      -webkit-transition: max-height 1s;
      transition: max-height 1s;
    }
}

@media screen and (min-width: 48em) {
    .accordionItem {
      max-height: 100em;
      -moz-transition: max-height 0.5s;
      -o-transition: max-height 0.5s;
      -webkit-transition: max-height 0.5s;
      transition: max-height 0.5s;
    }
}
  
.accordionItemCollapsed {
    max-height: 0;
}
  
.animateIn {
    -webkit-animation-name: accordionIn;
    -webkit-animation-duration: 0.65s;
    -webkit-animation-iteration-count: 1;
    -webkit-animation-direction: normal;
    -webkit-animation-timing-function: ease-in-out;
    -webkit-animation-fill-mode: both;
    -webkit-animation-delay: 0s;
    -moz-animation-name: normal;
    -moz-animation-duration: 0.65s;
    -moz-animation-iteration-count: 1;
    -moz-animation-direction: alternate;
    -moz-animation-timing-function: ease-in-out;
    -moz-animation-fill-mode: both;
    -moz-animation-delay: 0s;
    animation-name: accordionIn;
    animation-duration: 0.65s;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-timing-function: ease-in-out;
    animation-fill-mode: both;
    animation-delay: 0s;
}
  
.animateOut {
    -webkit-animation-name: accordionOut;
    -webkit-animation-duration: 0.75s;
    -webkit-animation-iteration-count: 1;
    -webkit-animation-direction: alternate;
    -webkit-animation-timing-function: ease-in-out;
    -webkit-animation-fill-mode: both;
    -webkit-animation-delay: 0s;
    -moz-animation-name: accordionOut;
    -moz-animation-duration: 0.75s;
    -moz-animation-iteration-count: 1;
    -moz-animation-direction: alternate;
    -moz-animation-timing-function: ease-in-out;
    -moz-animation-fill-mode: both;
    -moz-animation-delay: 0s;
    animation-name: accordionOut;
    animation-duration: 0.75s;
    animation-iteration-count: 1;
    animation-direction: alternate;
    animation-timing-function: ease-in-out;
    animation-fill-mode: both;
    animation-delay: 0s;
}
  
@-webkit-keyframes accordionIn {
    0% {
      opacity: 0;
      -webkit-transform: scale(0.8);
    }
    100% {
      opacity: 1;
      -webkit-transform: scale(1);
    }
}

@-moz-keyframes accordionIn {
    0% {
      opacity: 0;
      -moz-transform: scale(0.8);
    }
    100% {
      opacity: 1;
      -moz-transform: scale(1);
    }
}

@keyframes accordionIn {
    0% {
      opacity: 0;
      transform: scale(0.8);
    }
    100% {
      opacity: 1;
      transform: scale(1);
    }
}

@-webkit-keyframes accordionOut {
    0% {
      opacity: 1;
      -webkit-transform: scale(1);
    }
    100% {
      opacity: 0;
      -webkit-transform: scale(0.8);
    }
}

@-moz-keyframes accordionOut {
    0% {
      opacity: 1;
      -moz-transform: scale(1);
    }
    100% {
      opacity: 0;
      -moz-transform: scale(0.8);
    }
}

@keyframes accordionOut {
    0% {
      opacity: 1;
      transform: scale(1);
    }
    100% {
      opacity: 0;
      transform: scale(0.8);
    }
}

/* アコーディオンの枠 */

/* ここから */

@media (max-height: 800px)
{
    #mainContent {
        height: auto !important;
    }
}

/* 1200px以下に適用されるCSS（タブレット用） */
@media (max-width: 1200px)
{
    .container {
        width: 1170px;
    }

    #header {
        margin: 0 !important;
        padding-bottom: 0 !important;
        overflow: hidden;
    }

    div.navToggle {
        float: right;
    }

    div.accordion {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}

/* 480px以下に適用されるCSS（スマホ用） */
@media screen and (max-width: 480px) {

    #header {
        margin: 0 !important;
        padding-bottom: 0 !important;
        overflow: hidden;
    }

    h1 {
        padding: 80px 80px 80px 80px;
    }

    div.navToggle {
        float: right;
    }

    div.overflow {
        overflow-x: scroll;
    }

    p.text1 {
        margin: 0 !important;
        text-align: left !important;
        width: 100%;
    }

    p.text2 {
        margin: 0 !important;
        text-align: left !important;
        width: 100%;
    }

    p.step {
        margin: 0 !important;
        text-align: left;
        width: 100%;
    }

    .accordionItem.area1, .accordionItem.area2, .accordionItem.area3 {
        padding-left: 15px;
        padding-right: 15px;
    }

    .accordionItem.area1 p {
        padding: 40px 5px 10px 5px !important;
    }

    .accordionItem.area1 table {
        margin: 0 0 80px 0 !important;
        width: 150%;
    }

    .accordionItem.area2 table{
        margin: 0 0 80px 0 !important;
        width: 100% !important;
    }

    .accordionItem.area3 p {
        padding: 40px 5px 10px 5px !important;
    }

    .accordionItem.area3 table{
        margin: 0 0 80px 0 !important;
        width: 250% !important;
    }

    .accordionItem.area3 table tr th:nth-child(4) {
        width: 60%;
    }

    p.attension, p.attension2 {
        text-align: left !important;
    }

    p.txt1, p.txt2, p.txt3 {
        text-align: left !important;
    }

    p.txt3 {
        margin-right: 0 !important;
        margin-left: 0 !important;
        font-size: 14px;
    }

    p.step {
        text-align: left !important;
        font-size: 14px;
    }

    .accordionItem.area3 p {
        text-align: left !important;
    }
}

/* ここまでレスポンシブ */