@charset "utf-8";

.homehead {
    background-image: url(../img/common/bk1.jpg);
    background-size: cover;
    background-position: center;
}
.headpic {
    height: 100vh;
    position: relative;
}
.headpic div {
    position: absolute;
}
.headpic img {
    border: 3px solid #fff;
}
.headpic .hpic1 {
    width: 98%;
    left: 2%;
    bottom: 50%;
    transform: translateY(50%) translateX(0);
    -webkit- transform: translateY(50%) translateX(0);
    display: flex;
    align-items: center;
    z-index: 10;
}
.headpic .hpic1 img {
    width: 40%;
}
.headpic .hpic2 {
    width: 30%;
    right: 10%;
    top: 12%;
}
.headpic .hpic3 {
    width: 30%;
    bottom: 5%;
    right: 2%;
}
.homehead .hpic1 img {
    width: 40%;
}
.headpic p {
    width: calc(60% - 40px);
    font-size: 3.2rem;
    font-family: "Sawarabi Mincho";
    background-color: #35386c;
    color: #fff;
    padding: 20px;
}

/* index */
.index {
    padding-top: 110px;
}
.info {
    width: 100%;
    max-width: 1000px;
    padding: 40px 20px;
    border: 3px solid #e5e5e5;
    margin: 0 auto;
}
.infobox {
    width: 100%;
    max-height: 190px;
    overflow-y: scroll;
}
.infobox::-webkit-scrollbar {
    width: 7px;
}

.infobox::-webkit-scrollbar-thumb {
    background: linear-gradient(0deg,#43e2c6,#3183d0);
    border-radius: 3px;
}
.infobox::-webkit-scrollbar-track {
    background: rgba(100,100,100, .5);
}
.infobox div {
    margin-bottom: 30px;
}
.infobox p {
    text-align: center;
}
.infobox p.infoymd {
    font-weight: bold;
    margin-bottom: 10px;
}
.info a {
    color: #f91a1a;
    text-decoration: underline;
}
.boxtwo {
    margin-top: 90px;
    margin-bottom: 0;
    justify-content: space-between;
}
.boxtwo section {
    width: calc(100% / 2 - 15px);
    padding: 40px;
    background-color: #fdfbff;
}
.boxtwo section a {
    width: 50%;
    padding: 20px;
    margin: 30px auto 0;
    text-align: center;
    color: #fff;
    background-color: #1b344e;
    display: block;
    position: relative;
}
.itemlink {
    position: relative;
}
.boxtwo section a:hover {
    color: #f0fa9d;
}
.itemsbox .itemlink:hover {
    color: #f0fa9d;
}
.boxtwo section a:hover span,
.itemlink:hover span {
    width: 80%;
    height: 3px;
    background-color: #f0fa9d;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateY(0) translateX(-50%);
    -webkit- transform: translateY(0) translateX(-50%);
}
.itemsbox {
    padding-top: 90px;
    padding-bottom: 90px;
    margin-bottom: 0;
}
.itemsbox .itemlink {
    width: auto;
    padding: 20px 60px;
    margin: 30px auto 0;
    display: table;
    background-color: #1b344e;
    color: #fff;
}
.indexitems {
    width: 100%;
    justify-content: space-between;
}
.indexitems div {
    width: calc(100% / 4 - 15px);
    min-height: 400px;
}
.indexitems div p.itemstitle {
    margin-bottom: 20px;
    font-size: 2.0rem;
}
.indexitems div p.hoveron {
    display: none;
}
.indexitems div a {
    width: 100%;
    min-height: 400px;
    padding: 20px 10px;
    background-color: #fff;
    display: block;
    position: relative;
}
.indexitems div a:hover {
    background-color: rgba(15, 23, 130, 90%);
}
.indexitems div a:hover p {
    color: #fff;
}
.indexitems div a:hover p.hoveron {
    display: block;
    margin: auto;
    position: absolute;
    left: 50%;
    bottom: 75%;
    color: #fff;
    font-size: 2.4rem;
    font-weight: bold;
    transform: translateY(50%) translateX(-50%);
    -webkit- transform: translateY(50%) translateX(-50%);
}

/* about */
#about p {
    text-shadow: 1px 1px 3px #ffff;
}

.message {
    background-image: url(../img/common/bk1_c.jpg);
    background-size: 100%;
    background-position: bottom;
    background-color: rgba(255, 255, 255, 0.562);
    padding: 90px;
    border: 3px solid #e5e5e5;
}
.messagebox .motto {
    margin-bottom: 30px;
}
.messagebox .motto p {
    text-align: center;
    font-size: 32px;
    font-family: "HG行書体", "ＭＳ 明朝", "メイリオ", "Meiryo", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "verdana", sans-serif;
}
.messagebox .motto .brushfont {
    font-size: 24px;
}
.messagebox .brushfont {
    font-family: "HG行書体", "ＭＳ 明朝", "メイリオ", "Meiryo", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "verdana", sans-serif;
    font-size: 34px;
}
.messagebox p {
    line-height: 2;
    
}
.message p.name {
    margin-top: 30px;
    font-size: 2.4rem;
    text-align: right;
}
.message p.name br {
    display: none;
}
.aboutas .history ul {
    padding-top: 30px;
    padding-bottom: 30px;
}
.aboutas ul {
    margin-bottom: 60px;
    background-image: url(../img/common/bk1_c.jpg);
    background-position: top;
    background-size: cover;
}
.aboutas ul li {
    width: 100%;
    height: auto;
    padding: 15px;
    display: flex;
    justify-content: flex-start;
    flex-wrap: nowrap;
}
.aboutas ul li p {
    width: 80%;
}
.aboutas ul li p:first-child {
    width: 10em;
    font-weight: bold;
}
.aboutas ul li p span {
    display: block;
}
.companybox {
    justify-content: space-between;
    flex-wrap: wrap;
}
.companybox:last-child {
    margin-top: 90px;
}
.companybox .accessroot {
    width: calc(70% - 30px);
}
.companybox .accessroot p.root {
    margin-top: 20px;
}
.companybox iframe {
    width: 100%;
    height: 250px;
    margin-top: 30px;
}
.companybox img {
    width: 100%;
    margin-top: 5px;
}
#access {
    margin-top: -90px;
    padding-top: 90px;
}
/*　work　*/
.workpolicy {
    text-align: center;
}
.workli {
    justify-content: space-between;
}
.workli:last-child {
    margin-top: 60px;
}
.workli .righttext {
    width: calc(70% - 30px);
}
.workli .righttext a,
.workli .righttext .itemmore {
    width: auto;
    padding: 15px 60px;
    margin-top: 20px;
    line-height: 1;
    display: inline-block;
    background-color: #305539;
    color: #fff;
    position: relative;
    transform: 0.8;
}
.workli .righttext a::before,
.workli .righttext .itemmore::before {
        content:"　";
        position: absolute;
        bottom: 50%;
        transform: translateY(50%) translateX(0);
        -webkit- transform: translateY(50%) translateX(0);
        left: 20px;
        width: 15px;
        height: 12px;
        background-image: url(../img/common/hover_anchor.gif);
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
}
.workli .righttext a::after,
.workli .righttext .itemmore::after {
    content:"　";
    position: absolute;
    bottom: 50%;
    transform: translateY(50%) translateX(0);
    -webkit- transform: translateY(50%) translateX(0);
    right: 20px;
    width: 15px;
    height: 12px;
    background-image: url(../img/common/hover_anchor2.gif);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.workli .righttext a:hover {
    background-color: #202241;
}
.workli .righttext .itemmore {
    background-color: #35386c;
}
.workli .righttext .itemmore:hover {
    background-color: #202241;
}
.workli .righttext a:hover:before {
    left: 25px;
}
.workli .righttext a:hover:after {
    right: 25px;
}
.workli .righttext ul {
    margin-top: 30px;
}
.workli .righttext ul li {
    font-weight: bold;
}

/* item */
.itembox {
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 30px;
}
.itemtitle {
    width: 100%;
    font-size: 2.2rem;
    font-weight: bold;
    border-bottom: 2px solid #202241;
    margin-bottom: 30px;
}
.itembox .righttext,
.itembox .lefttext {
    width: calc(70% - 30px);
}
.itembox .rightpic {
    width: 30%;
}
.itembox .wmaxtext {
    width: 100%;
    margin-top: 30px;
    padding-left: 10px;
}
.itembox .wmaxtext ul {
    width: 100%;
}
.itembox .righttext p {
    margin-bottom: 10px;
}
.itembox .righttext p a {
    color: #f91a1a;
    font-weight: bold;
    text-decoration: underline;
}
.itembox .itemlist {
    margin-top: 30px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.itembox .itemlist li {
    margin-right: 15px;
    margin-bottom: 30px;
}
.itembox .itemlist p {
    background-color: #e2f3d3;
    padding: 10px;
    margin-bottom: 20px;
    font-weight: bold;
    display: block;
}
.itembox .itemlist img {
    width: auto;
}
.itembox .lefttext img {
    width: auto;
    margin-top: 20px;
}
/* cotact */
#contact ul {
    width: 100%;
    margin-top: 30px;
    padding: 20px 4.44%;
    border-top: 2px solid #666;
    border-bottom: 2px solid #666;
    
}
#contact ul li {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-self: center;
    align-items: baseline;
    flex-wrap: nowrap;
    padding-top: 20px;
    padding-bottom: 20px;
}

#contact ul li p {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}
#contact ul li p:first-child {
    width: 35%;
    font-weight: bold;
}
#contact ul li p:last-child {
    width: 65%;
}
#contact ul li p span {
    padding-left: 10px;
    padding-right: 10px;
    align-self: center;
}
#contact ul li:last-child p span {
    align-self: auto;
}
#contact ul li p:first-child span:first-child {
    width: 20%;
    height: auto;
    margin-right: 1.5%;
    line-height: 1;
    display: inline-table;
    vertical-align: middle;
}
#contact ul li p span.required {
    background-color: #f91a1a;
    color: #fff;
    text-align: center;
    padding-top: 10px;
    padding-bottom: 10px;
    
}
#contact ul li input {
    width: 100%;
    line-height: 2;
    border-radius: 5px;
    padding: 10px;
    border: 1px solid #666;
}
#contact ul li:last-child p:first-child {
    padding-top: 15px;
}
#contact ul li:last-child p:first-child span:last-child {
    padding-top: 5px;
}
#contact ul li:last-child p:last-child {
    vertical-align: top;
}
#contact ul li:last-child textarea {
    width: 100%;
    height: 300px;
    line-height: 2;
    border-radius: 5px;
    padding: 10px;
    display: block;
}
#contact .submit input {
    margin: 30px auto 0;
    padding: 20px 10%;
    background-color: #0189c6;
    color: #fff;
    display: block;
    transition: 0.3s;
}
#contact .submit input:hover {
    opacity: 0.8;
    cursor: pointer;
    cursor: hand;
}
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
    &::-webkit-search-decoration {
      display: none;
    }
    &::focus {
      outline-offset: -2px;
    }
}

/* mail.php */
/* privacy */
.privacy h3 {
    margin-top: 60px;
}
.privacy p {
    padding-left: 1em;
    padding-right: 1em;
    margin-top: 10px;
}
.privacy ol.fastol {
    margin-top: 10px;
    padding-left: 2em;
    padding-right: 1em;
}
.privacy ol.fastol li {
    list-style-type: disc;
    margin-top: 10px;
}
.privacy p a {
    margin-top: 30px;
    margin-bottom: 30px;
    padding: 15px 60px;
    background-color: #35386c;
    color: #fff;
    display: inline-block;
    
}
/*各ページ共有　*/

.return:hover img:first-child {
    display: none;
}
.return img:last-child {
    display: none;
}
.return:hover img:last-child {
    display: block;
}