/* @charset "UTF-8";

/*============================
カラー定義
==============================*/
:root {
    /*ベースカラー*/
    --base-color:;
    /*テキストカラー*/
    --text-color: #222;
    /*リンクカラー*/
    --link-color:;
}

/*============================
フォント定義
==============================*/
:root {
    /*ゴシック体*/
    --font-gothic: 'Noto Sans Japanese', 'YuGothic', '游ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
    /*明朝体*/
    --font-mincho: 'リュウミン R-KL', 'Ryumin Regular KL', 'YuMincho', 'Yu Mincho', serif;
    /*丸ゴシック体*/
    --font-marugothic: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
}


/*============================
基本設定
=============================*/
body {
    color: var(--text-color);
    font-family: var(--font-gothic);
    letter-spacing: 0.05em;
    font-size: 13px;
    line-height: 1.875;
}

* {
    word-break: break-all;
    box-sizing: border-box;
}

table,
iframe {
    max-width: 100%;
}

/*リンク*/
a {
    color: var(--text-color);
    text-decoration: none;
    cursor: pointer;
}

a:hover {
    text-decoration: none;
    color: var(--text-color);
}

h1,h2,p,figure,ul,li {
    margin: 0;
    padding: 0;
    list-style: none;
}

/*画像*/
img {
    max-width: 100%;
    height: auto;
}

/* レイアウト */
.siteWidth,
.siteWidth-s {
    padding-left: 20px;
    padding-right: 20px;
}

.bgColor-gray {
    background: #F7F7F7;
    padding-top: 60px;
    padding-bottom: 30px;
}

/* ヘッダー */
.header {
    display: flex;
    align-items: center;
    position: relative;
    padding: 27px 90px 19px 20px;
    min-height: 70px;
}

.slide header {
    padding: 0;
    display: block;
}

/* サイトタイトル */
.siteTitle {
    line-height: 1.2;
    font-size: 20px;
    font-weight: bold;
}

.siteTitle a:hover {
    opacity: .7;
}

.slide .siteTitle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 90%;
    max-height: 80%;
    overflow: hidden;
    text-align: center;
    z-index: 3;
    font-size: 30px;
}

.slide .siteTitle a {
    color: #fff;
}

.slide .siteTitle img {
    top: 45%;
}

.siteTitle img {
    max-height: 200px;
}

/* ページタイトル */
.pageTitle {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    background: #F7F7F7;
    padding: 40px 20px;
    line-height: 1.3;
}

/* 下層ページメニュー */
.menu {
    background: #000;
}

.menu .inner {
    overflow-x: auto;
}

.menu a {
    color: #fff;
    font-size: 15px;
    line-height: 1.2;
    border-right: 1px solid #fff;
    padding: 15px 20px;
    display: block;
}

.menu a:hover {
    background: #666666;
}

.menu ul {
    display: flex;
    justify-content: center;
    width: max-content;
    margin-left: auto;
    margin-right: auto;
}

.menu ul li:last-child a {
    border-right: none;
}

/* ハンバーガーメニュー */
.hamburger {
    background: #000;
    width: 70px;
    height: 70px;
    position: fixed;
    top: 0;
    right: 0;
    cursor: pointer;
    z-index: 11;
    transition: .7s;
}

.hamburger .inner {
    position: relative;
    width: 23px;
    height: 12px;
    margin-right: auto;
    margin-left: auto;
    line-height: 70px;
    top: 40%;
}

.hamburger span {
    width: 100%;
    height: 2px;
    display: inline-block;
    background: #fff;
    position: absolute;
    transition: .7s;
    opacity: 1;
}

.hamburger p {
    display: none;
}

.hamburger span:nth-of-type(1) {
    top: 0;
}

.hamburger span:nth-of-type(2) {
    top: 5px;
}

.hamburger span:nth-of-type(3) {
    bottom: 0;
}

.hamburger.active span:nth-of-type(1) {
    opacity: 0;
}

.hamburger.active span:nth-of-type(2) {
    transform: translateY(0px) rotate(-45deg);
    top: 50%;
}

.hamburger.active span:nth-of-type(3) {
    transform: translateY(0px) rotate(45deg);
    top: 50%;
}

/* 画像スライダー */
.slider,
.slider-overlay,
.slider li,
.slider li img {
    width: 100vw;
    height: 100vw;
}

.slide li img {
    object-fit: cover;
}

.slider-overlay {
    background: rgba(0, 0, 0, .4);
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
}

.slider li img {
	transform: scale(1.3);
}

.active3 img {
	transition-duration: 6s;
}

.active2 img {
	transition-duration: 4s;
}

.active1 img {
	transition-duration: 2s;
}

.slider .active-slide img,
.slider .active-slide-first img {
	transform: scale(1);
}

.popUp {
    z-index: 1;
}

/* グローバルナビゲーション */
.globalNav {
    display: none;
}

.bgColor-white {
    background-color: #fff;
}

/* ヘッダーナビゲーション */
.navi.active {
    height: 100vh;
    transform: translateY(0);
}

.navi {
    background: #000;
    color: #fff;
    width: 100vw;
    height: 0;
    padding: 100px 20px 40px 20px;
    position: fixed;
    z-index: 10;
    top: 0;
    transform: translateY(-100%);
    transition: .7s;
    letter-spacing: 0.05em;
    line-height: 1.2;
}

.navi a {
    color: #fff;
}

.navi a:hover {
    opacity: .7;
}

.navi .inner {
    height: 100%;
    overflow-y: auto;
}

.menuNavi .parent {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.9;
    letter-spacing: 0;
}

.menuNavi .parent > li {
    margin-bottom: 30px;
    line-height: 2;
}

.menuNavi .child {
    font-size: 16px;
    font-weight: normal;
}

.menuNavi a {
    display: block;
}


.right {
    font-size: 15px;
}

.headNavi {
    margin-bottom: 32px;
}

.headNavi  li {
    border: 1px solid #fff;
    text-align: center;
    margin-bottom: 16px;
    font-weight: bold;
}

.headNavi  li a {
    display: block;
    padding: 15px;
}

/* snsボタン */

.snsBtn {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
}

.snsBtn li {
    margin-right: 20px;
}

.snsBtn li:hover {
    opacity: .7;
}

.snsBtn li:last-child {
    margin-right: 0;
}

/* ナビゲーション用snsボタン */
.navi .snsBtn {
    margin-bottom: 32px;
}

/* サイト説明文 */
.lead {
    padding-top: 15px;
    padding-bottom: 15px;
    background: #F7F7F7;
    letter-spacing: 0.1em;
    line-height: 2;
    margin-bottom: 35px;
    text-align: left;
}

.lead br {
    display: none;
}

.mainImg .lead {
    padding: 0;
    margin-bottom: 0;
}

/* メイン画像 */
.mainImg {
    padding: 20px;
    background: #F7F7F7;
    margin-bottom: 60px;
}

.mainImg figure {
    margin-bottom: 20px;
    text-align: center;
}

/* 記事ボックス */

.article {
    margin-top: 60px;
}

.article:last-child {
    margin-bottom: 60px;
}

.article .title {
    font-family: var(--font-mincho);
    font-size: 22px;
    letter-spacing: 0;
    line-height: 1.2;
    margin-bottom: 20px;
}

.article figcaption {
    display: none;
}

.article .txt {
    margin-bottom: 20px;
}

.article .inner {
    z-index: 2;
}

#top {
    z-index: 3;
}

.first-img {
    margin-right: -20px;
    margin-left: -20px;
    margin-bottom: 20px;
    display: block;
    text-align: center;
}

.first-img img {
    width: 100%;
}

.imgContainer figure {
    margin-bottom: 20px;
    text-align: center;
}

.imgContainer figure img {
    width: 100%;
}

/* エディタ入力エリア */
.editorArea a {
    text-decoration: underline;
}

.editorArea a:hover {
    text-decoration: none;
}

.editorArea img {
    display: block;
    margin: 0 auto;
}

.editorArea hr {
    height: 1px;
    color: var(--text-colorBase);
}

.editorArea ol li{
    list-style-type: decimal;
}

.editorArea ul li{
    list-style-type: disc;
    margin-left: 2em;
}

.editorArea ol li,
.editorArea ul li {
    margin-bottom: 5px;
}

.editorArea em {
    font-style: italic;
}

.editorArea table {
    width: 100%;
    max-width: 100%;
}

.editorArea table th,
.editorArea table td {
    padding: 15px 25px;
    border: 1px solid #ccc;
}

.editorArea table th {
    text-align: center;
    background: #F7F7F7;
    font-weight: normal;
    width: 102px;
}

.editorArea table td {
    background: var(--text-clolorSub);
}

.editorArea img {
    max-width: 100%;
}

.editorArea iframe {
    max-width: 100%;
}

.editorArea strong,
.editorArea b {
    font-weight: bolder;
}

/* お知らせ・ブログ */
.extraTtl {
    font-size: 28px;
    font-family: var(--font-mincho);
    text-align: center;
    position: relative;
    margin-bottom: 30px;
    letter-spacing: 0;
    line-height: 1.2;
}

.extraTtl::before {
    position: absolute;
    top: -90%;
    text-align: center;
    left: 50%;
    transform: translateX(-50%);
    font-size: 15px;
    border-bottom: 1px solid #222;
    font-family: "Times New Roman";
}

.infoTtl::before {
    content: "NEWS";
}

.blogTtl::before {
    content: "BLOG";
}

#news {
    margin-bottom: 30px;
}

.rss dt,
.news time {
    font-family: "Times New Roman";
    font-size: 15px;
    letter-spacing: 0;
    line-height: 1.1;
    font-weight: normal;
}

.rss dd,
.news span {
    margin-bottom: 20px;
    font-size: 13px;
    letter-spacing: 0.1em;
    line-height: 1.9;
}

.news span {
    display: block;
}

.rss dd a,
.news li a {
    text-decoration: underline;
}

.rss dd a:hover,
.news p a:hover {
    text-decoration: none;
}

.news li.is-hidden {
    display: none;
    /* opacity: 0; */
}

.btn {
    max-width: 200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    background: #fff;
    border-radius: 30px;
    margin-top: 30px;
}

.btn:hover,
.btn a:hover {
    background: #000;
    color: #fff;
}

.newsBtn {
    padding: 10px 15px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
}

.blogBtn {
    position: relative;
    padding: 10px 15px;
    font-size: 16px;
    font-weight: bold;
    display: block;
    text-decoration: none;
    border-radius: 30px;
}

.blogBtn::after {
    content: '';
    background-image: url(../../images/240/pic-btn_001.png);
    background-repeat: no-repeat;
    position: absolute;
    width: 20px;
    height: 20px;
    top: 35%;
    right: 15%;
    cursor: pointer;
}

/* フリーエリア */
.freeArea {
    margin-top: 60px;
    margin-bottom: 40px;
    letter-spacing: 0;
    line-height: 1.9;
    padding-right: 20px;
    padding-left: 20px;
}

/* pageTop */
.pageTop {
  margin-top: 80px;
  text-align: center;
}

.pageTop a {
    color: #222;
    font-weight: bold;
    font-size: 12px;
    position: relative;
    text-decoration: none;
}

.pageTop a::before {
    content: '';
    position: absolute;
    top: -30px;
    left: 0;
    right: 0;
    margin: auto;
    transform: rotate(135deg);
    border-bottom: 3px solid #000;
    border-left: 3px solid #000;
    width: 20px;
    height: 20px;
    transition: all 0.2s ease-in-out;
}

.pageTop a:hover::before {
    top: -35px;
}

/* お問い合わせボタン */
.contactBtn a {
    margin-top: 30px;
    margin-bottom: 40px;
    background: #000;
    color: #fff;
    text-decoration: none;
    font-size: 20px;
    font-weight: bold;
    display: block;
    text-align: center;
    padding: 33px 50px 33px 30px;
    position: relative;
    cursor: pointer;
    letter-spacing: 0.05em;
    line-height: 1.2;
}

.contactBtn a::after {
    content: '';
    position: absolute;
    top: 40%;
    /* left: 0; */
    right: 5%;
    margin: auto;
    transform: rotate(225deg);
    border-bottom: 3px solid #fff;
    border-left: 3px solid #fff;
    width: 20px;
    height: 20px;
    transition: all 0.2s ease-in-out;
}

.contactBtn a:hover {
    background: #666;
}

/* フッター用snsボタン */
.formPage .footer .snsBtn {
    margin-top: 40px;
}

.footer .snsBtn li {
    margin-right: 25px;
}

.footer .snsBtn li:last-child {
    margin-right: 0;
}

.footer .snsBtn a {
    width: 50px;
    height: 50px;
    border-radius: 100%;
    border: 1px solid #666;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer {
    margin-top: 40px;
}

/* フッター用qrコード */
.footer .qrCode {
    margin-top: 24px;
}

/* ナビ用qrコード */
.navi .qrCode {
    margin-bottom: 20px;
}

/* qrコード */
.qrCode {
    text-align: center;
}

/* コピーライト */
.copyright {
    text-align: center;
    margin-top: 25px;
    margin-bottom: 50px;
    line-height: 1.2;
    font-size: 16px;
    font-family: var(--font-mincho);
}

/* パンくず */
.pnkz {
    margin-top: 15px;
    font-size: 11px;
    line-height: 1.2;
    padding-right: 20px;
    margin-bottom: 40px;
    overflow-x: auto;
    overflow-y: hidden;
}

.pnkz ul {
    display: flex;
    justify-content: flex-end;
    width: max-content;
    margin-left: auto;
}

.pnkz li {
    border-right: 1px solid #CCCCCC;
    margin-left: 5px;
}

.pnkz li:last-child {
    border-right: none;
}

.pnkz a {
    text-decoration: underline;
    padding: 5px;
}

.pnkz a:hover {
    text-decoration: none;
}

/* 地図エリア */
.map iframe {
    margin: 0 auto;
    display: block;
    height: 300px;
}

/* プロフィール / 地図　共通 */
.info {
    margin-top: 60px;
    margin-bottom: 80px;
}
.info dl {
    display: flex;
    margin-bottom: 1px;
    border-top: 1px solid #CCCCCC;
}

.info dl:last-child {
    border-bottom: 1px solid #CCCCCC;
}

.info dt {
    padding: 20px;
    width: 180px;
    min-width: 70px;
    font-weight: bold;
    display: block;
}

.info dd {
    padding: 20px;
    width: 100%;
    margin-bottom: 0;
}

/* フォーム */
.form {
    margin-top: 60px;
}

.form table {
    width: 100%;
}

.form th,
.form td {
    display: block;
    width: 100%;
}

.form th {
    padding: 15px 10px 5px 10px;
}

.form td {
    padding: 5px 10px 15px 10px;
}

.form tr {
    border-top: 1px solid #ccc;
    padding: 5px;
}

.input-text input,
textarea,
.input-age input {
    padding: 8px 15px;
    border-radius: 4px;
    border: 1px solid #d6d6d6;
}

.input-text input,
textarea {
    width: 100%;
}

.input-age input {
    margin-right: 10px;
    vertical-align: bottom;
    width:150px;
}

textarea {
    height: 300px;
}

.validation_span {
    color: red;
}

.btnCont {
    text-align: center;
    margin-top: 20px;
    margin-bottom: 60px;
  }
  
  .form-btn {
    display: inline-block;
    max-width: 240px;
    width: 100%;
    padding-top: 18px;
    padding-bottom: 18px;
    border-radius: 5px;
    color: var(--color-sub);
    text-align: center;
    margin-right: 10px;
    border: none;
    font-weight: bold;
    font-size: 18px;
  }
  
  .btn-submit:hover,
  .btn-reset:hover {
    opacity: 0.8;
  }
  
  .btn-submit {
    background: #000;
    color: #fff;
    margin-bottom: 15px;
  }
  
  .btn-reset {
    background: #c6c6c6;
  }

  .thaks {
    padding-left: 20px;
    padding-right: 20px;
  }


@media screen and (min-width:768px) {
    /* 基本設定 */
    body {
        font-size: 15px;
    }
    
    /* レイアウト */
    .siteWidth {
        max-width: 1200px;
        margin-right: auto;
        margin-left: auto;
    }

    .siteWidth-s {
        max-width: 780px;
        margin-right: auto;
        margin-left: auto;
        padding-left: 0;
        padding-right: 0;
    }

    .bgColor-gray {
        padding-top: 90px;
        padding-bottom: 60px;
    }
    
    /* ヘッダー */
    .header {
        min-height: 120px;
        padding: 49px 170px 35px 50px;
    }

    /* サイトタイトル */
    .siteTitle {
        font-size: 30px;
    }

    .slide .siteTitle {
        font-size: 46px;
    }

    /* ページタイトル */
    .pageTitle {
        padding-top: 60px;
        padding-bottom: 60px;
        font-size: 24px;
    }

    /* 下層ページメニュー */
    .menu .inner {
        margin-right: auto;
        margin-left: auto;
        padding: 0 30px;
    }

    /* スライダー */
    .slider,
    .slider-overlay,
    .slider li,
    .slider li img  {
        height: calc(100vw * 0.52642);
    }

    /* ハンバーガーメニュー */
    .hamburger {
        width: 120px;
        height: 120px;
    }

    .hamburger .inner {
        width: 40px;
        height: 20px;
    }

    .hamburger p {
        font-size: 12px;
        color: #fff;
        transition: .7s;
        display: block;
        opacity: 1;
        letter-spacing: 0;
        font-weight: bold;
    }
    
    .hamburger.active p {
        opacity: 0;
    }

    .hamburger span:nth-of-type(2) {
        top: 9px;
    }

    /* グローバルナビゲーション */
    .globalNav {
        display: block;
        background: #fff;
        padding: 30px 16px 0 16px;
    }

    .globalNav .parent {
        display: flex;
        justify-content: center;
        align-items: center;
        list-style: none;
        margin: 0 auto;
        padding: 0;
        flex-wrap: wrap;
    }

    .globalNav .parent > li {
        border-right: 1px solid #ccc;
        margin-bottom: 20px;
    }

    .globalNav .parent li:last-child {
        border-right: none;
    }

    .globalNav .parent a {
        text-decoration: none;
        font-weight: bold;
        padding: 15px 24px;
    }

    .globalNav .parent a:hover {
        text-decoration: underline;
    }

    .globalNav .child {
        margin: 0;
        padding: 0;
        list-style: none;
        background: #000;
        position: absolute;
        z-index: 4;
    }

    .globalNav .child li {
        border-bottom: 1px solid #fff;
    }

    .globalNav .child li:last-child {
        border-bottom: none;
    }

    .globalNav .child a {
        display: block;
        color: #fff;
        text-align: center;
    }

    .globalNav .child a:hover {
        text-decoration: none;
        background: #666;
    }
    
    /* サイト説明文 */
    #news {
        padding: 90px 0px 54px;
        line-height: 1.9;
    }

    /* メイン画像 */
    .mainImg {
        margin-bottom: 0;
        padding: 0;
    }

    .mainImg .lead {
        width: 60%;
        margin-left: auto;
        margin-right: auto;
    }

    .noImg.lead {
        width: 100%;
    }

    .lead {
        text-align: center;
    }

    .lead br {
        display: block;
    }

    .lead .inner {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .mainImg .inner {
        display: flex;
        align-items: center;
        width: 100%;
        max-width: 1200px;
        padding: 40px 20px;
        margin-left: auto;
        margin-right: auto;
    }

    .mainImg figure {
        /* width: 60%; */
        max-width: 500px;
        text-align: right;
        margin-right: 40px;
        margin-bottom: 0;
    }

    /* ナビゲーション */

    .navi {
        padding: 130px 30px 50px ;
    }
    
    .navi .inner {
        display: flex;
        justify-content: space-between;
        height: 100%;
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
    }
    
    .menuNavi {
        width: 100%;
        max-width: 500px;
        overflow-y: auto;
        height: 100%;
        margin-right: 30px;
    }
    
    .menuNavi::-webkit-scrollbar {
        width: 14px;
    }
    
    .menuNavi::-webkit-scrollbar-thumb {
        background: #fff;
        border-radius: 9px;
    }

    .menuNavi {
        scrollbar-width: thin;
        scrollbar-color: #fff #fff;
    }
    
    .menuNavi .parent {
        font-size: 28px;
        font-weight: bold;
        padding-right: 15px;
    }
    
    .menuNavi .parent > li {
        margin-bottom: 30px;
    }
    
    .menuNavi .child {
        font-size: 16px;
        font-weight: normal;
    }
    
    
    .right {
        width: 100%;
        max-width: 300px;
        overflow-y: auto;
        height: 100%;
        padding-right: 15px;
        font-size: 20px;
    }

    .right::-webkit-scrollbar {
        display: none;
    }

    .headNavi {
        margin-bottom: 60px;
    }
    
    .headNavi  li {
        margin-bottom: 16px;
    }

    /* 記事ボックス */

    .article {
        margin-top: 130px;
    }

    .article:first-of-type {
        margin-top: 90px;
    }

    .article:last-child {
        margin-bottom: 130px;
    }

    .head {
        display: flex;
        margin-bottom: 40px;
        align-items: flex-start;
    }

    .reverse .head {
        flex-direction: row-reverse;
    }

    .article .inner {
        width: 640px;
        margin-top: 40px;
        background: #fff;
    }

    .normal .inner {
        padding: 40px 40px 40px 0;
        margin-right: -40px;
    }

    .reverse .inner {
        padding: 40px 0 40px 40px;
        margin-left: -40px;
    }

    .article .title {
        font-size: 32px;
        margin-bottom: 40px;
        line-height: 1.4;
        letter-spacing: 0;
    }

    .article .txt {
        font-size: 15px;
        line-height: 1.9;
        letter-spacing: 0.1em;
    }

    .article .head figure {
        width: 640px;
    }

    .first-img {
        margin-left: 0;
        margin-right: 0;
    }

    .normal .head figure {
        text-align: left;
        margin-left: -40px;
    }

    .reverse .head figure {
        text-align: right;
        margin-right: -40px;
    }

    .imgContainer {
        display: flex;
        justify-content: center;
    }

    .imgContainer figure {
        max-width: 380px;
        width: 100%;
        margin-right: 30px;
    }

    .imgContainer figure:last-child {
        margin-right: 0;
    }

    /* お知らせ・ブログ */
    #news {
        margin-bottom: 40px;
    }

    .rss dt,
    .news time {
        display: inline-block;
        width: 15%;
        min-width: 100px;
        padding-top: 6px;
        vertical-align: top;
    }

    .rss dd,
    .news span {
        display: inline-block;
        width: calc( (99% - 15%) - 26px );
        font-size: 15px;
    }

    .news span {
        display: inline-flex;
    }

    .news li a:hover {
        text-decoration: none;
    }

    /* フリーエリア */
    .freeArea {
        margin-top: 90px;
        margin-bottom: 72px;
        padding: 0;
        font-size: 15px;
    }

    /* pageTop */
    .pageTop {
        display: none;
        position: fixed;
        bottom: 30px;
        right: 20px;
        margin-top: 0;
    }

    /* お問い合わせボタン */
    .contactBtn {
        margin-top: 90px;
        margin-bottom: 70px;
    }

    /* コピーライト */
    .copyright {
        margin-bottom: 83px;
    }

    /* パンくず */
    .pnkz {
        font-size: 13px;
        max-width: 1200px;
        width: 100%;
        margin-right: auto;
        margin-left: auto;
    }

    /* エディタ入力エリア */
    .editorArea table th {
        width: 200px;
    }

    /* 地図エリア */
    .map iframe {
        height: 500px;
    }

    .formPage .footer .snsBtn {
        margin-top: 90px;
    }

    .footer {
        margin-top: 72px;
    }

    /* フォーム */
    .form th,
    .form td {
        padding: 30px 20px;
    }

    .form th {
        width: 30%;
    }

    .form td {
        width: 70%;
    }

    .form tr {
        display: flex;
        align-items: center;
    }

    .input-age input {
        width: 40%;
    }

    .thaks {
        max-width: 780px;
        margin-right: auto;
        margin-left: auto;
        padding-left: 0;
        padding-right: 0;
      }

}

.required {
    margin-top: 15px;
}