body{
    color: #262626;
}

h1, h2, h3, p, span, a, div, li, input {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
}

a {
    text-decoration: underline !important;
    box-shadow: none !important;
    color: inherit;

    &:hover {
        opacity: 0.8;
    }
}
    
.bold {
    font-weight: bold;
}

.red {
    color: #C50000;
}

.text-color {
    color: #262626 !important;
}

.fz-18 {
    font-size: 1.125rem !important;
}

.fz-16 {
    font-size: 1rem;
}

.fz-14 {
    font-size: 0.875rem;
}

.mar-b4 {
    margin-bottom: 4px;
}

.max-w-700 {
    max-width: 700px;
    margin-inline: auto;
}

.max-w-724 {
	max-width: 724px;
	margin-inline: auto;
}

.underline {
    text-decoration: underline;
}

.inline-block {
	display: inline-block;
}

.text-move {
    text-align: center;
    
    @media screen and (max-width:768px) { 
        text-align: start;
    }
}

.cap {
    display: flex;
    column-gap: 8px;
    align-items: center;	
    
    img {
        width: 64px;
    }
    
    span {
        font-size: 0.75rem;
        color: #6e6e6e;
    }
}

h2.mt {
    margin-top: 20px;
}

.textWrapper {
    margin-bottom: 48px;
}

.textWrapper p {
    line-height: 2.7em;
    font-size: 1rem;
    margin-bottom: 24px;
}

.flex {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
    margin-block: 40px;

    .box {
        box-sizing: content-box;
        display: flex;
        row-gap: 16px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 210px;
        height: 184px;
        background-color: #E2EAED;
        border-radius: 12px;
        padding: 24px;


        .heading {
            font-size: 20px;
            font-weight: bold;
            margin: 0;
            text-align: center;
        }

        .desc {
            font-size: 0.9375rem;
        }
    }
}

.margin1 {
    padding: 0 !important;
    margin-block: 24px 16px;
}

.note {
    box-sizing: content-box;
    margin: 16px auto 0;
    padding: 24px;
    background-color: #e8e8e8;
    border-radius: 12px;
    max-width: 700px;
    
    ul {
        margin-block: 0;
		padding-left: 12px;
    }

    ul li {
        font-size: 1rem;
		list-style: disc;
		margin-bottom: 6px;
        
        &:last-of-type {
            margin-bottom: 0 !important;
        }
    }
}

.formfield {
    background-color: #E2EAED;
    padding: 24px;
    border-radius: 12px;
    margin-bottom: 40px;
    
    form {
        input {
			&:not([type=submit]):not([type=checkbox]) {
				max-width: 100%;
            	border: none !important;
        	    background-color: #FFFFFF;
        	    font-size: 1rem;
        	    margin: 0;
        	    font-weight: normal;
        	    padding: 6px 12px;
        	    line-height: 1.5;
            	box-sizing: border-box;
				width: 100%;
				border-radius: 6px
			}
            
            &[type=submit] {
                background-color: #374F58;
                border-radius: 24px;
                font-weight: bold;
                display: block;
                margin: 16px auto 0;
                color: #FFFFFF;
                padding: 16px;
                cursor: pointer;
                transition: 200ms;
            }
			
			&[type=checkbox] {
                margin-left: 6px;
                transform: scale(1.5);
			}
        }
        
        label {
            font-size: 1rem;
            font-weight: bold;
            color: #262626;
            
            .small {
                font-size: 0.8125rem;
            }
        }
        
        p {
            margin: 0;
            
            &:not(:first-of-type) {
                margin-top: 8px;
            }
        }
        
        textarea {
            border: none;
			border-radius: 6px;
            line-height: 1.5;
            background-color: #FFFFFF;
            font-weight: normal;
            font-size: 1rem;
            width: 100%;
            padding: 6px 12px;
            box-sizing: border-box;
        }
		
		.wpcf7-checkbox .wpcf7-list-item {
			margin: 1rem 0 0.5rem
		}
        
        .wpcf7-spinner {
            display: none !important;
        }
        
        .wpcf7-response-output {
            margin-block: 8px;
        }
    }
    
    .after-sent {
        display: none;
        
        &.show {
            display: block;
        }
    }
}

.email-button {
    background-color: #374F58;
    border-radius: 24px;
    font-weight: bold;
    display: block;
    margin-inline: auto;
    max-width: 150px;
    color: #FFFFFF;
    transition: 200ms;
    padding: 12px;
    text-align: center;
    margin-bottom: 4px;
    text-decoration: none !important;
    
    &:hover, &:focus {
        box-shadow: 0 2px 10px rgba(0, 0, 0, .5) !important;
        opacity: 0.95;
        transform: translateY(-2px);
        color: #ffffff;
    }
}

.margin2 {
    margin-block: 0 8px;
    padding: 0 !important;
}

.link-policy {
    text-align: center;
    font-size: 0.875rem;
    color: #6e6e6e;
}

footer {
    padding: 16px 0;
    background-color: #374F58 !important;
    color: #ffffff;

    a {
        color: #ffffff;
    }
    
    .container {
        max-width: 1028px;
        width: calc(100% - 32px);
        margin-inline: auto
    }
    
    .footer-flex {
        display: flex;
        justify-content: start;
        column-gap: 16px;
        
        @media screen and (max-width:768px) { 
            flex-direction: column;
        }
        
        a {
            width: fit-content;
            margin-inline: 0;
        }
    }

    @media screen and (max-width: 768px) {
        .footer-flex {
            flex-direction: column;
        }
    }
    
    .recaptcha {
        font-size: 0.75rem;
    }
}

header{
    width: 100%;
    margin-bottom: 10px;
}
a{
    transition:all 0.8s ease;
}


p{
    margin: 0;
    font-size: 1rem;
    line-height: 1.5;
}

h1{
    font-size: 24px !important;
    margin: 0 0 60px;
    padding: 20px 0;
}
@media screen and (min-width:768px) {
    h1{
		font-size: 28px !important;
        margin: 120px 0;
    }
}
h2{
    font-size: 24px;
    color: #595857;
    margin-bottom: 20px;
}
.block{
    display: inline-block;
}
.marStyle{
    max-width: 1028px;
    width: calc(100% - 32px);
    margin: 0 auto 30px;
}
img{
    width: 100%;
    height: auto;
    object-fit: cover;
}
body .mar-b15{
    margin-bottom: 15px;
}
body .mar-b30{
    margin-bottom: 30px;
}
body .mar-b60{
    margin-bottom: 60px;
}
body .mar-b90{
    margin-bottom: 90px;
}
body .txt_c{
    text-align: center;
}
body .txt_l{
    text-align: left;
}
body{
    margin: 0;      
}

/*  contact Form*/
form input[type="submit"]:hover,form input[type="submit"]:focus {
    top: -5px;
    box-shadow: 0 2px 10px rgba(0,0,0,.5);
    opacity: 0.95;
    transform: translateY(-2px);
}

/* Google reCAPTCHAのポリシー */
.grecaptcha-badge { visibility: hidden; }


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


.mar32px{
    margin-bottom: 32px !important;
}
.txtC{
    text-align: center;
}

button{
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    height: 100%;
}
.space{
    margin-bottom: 32px;
    border-bottom: solid 1px transparent;
}
.linkButton{
    position: relative;
}
.pc{
    display: inline-block;
}
.sp{
    display: none;
}
.caption{
    font-size: 0.8rem;
}
@media only screen and (max-width: 500px){
    .pc{
        display: none;
    }
    .sp{
        display: inline-block;
    }
    .block{
        display: inline-block;
    }
}
.fadeIn[aria-hidden="true"] {
    opacity: 0;
  transform : translate(0,1rem);
  transition : all 500ms;
}
.fadeIn[aria-hidden="false"] {
    opacity: 1;
  transform : translate(0,0rem);
  transition : all 500ms;
}

.flexWrapper{
    display: flex;
    flex-wrap: wrap;
    align-items:stretch;
}


section.sectionWrapper {
    padding: 3rem 3rem 3rem;
    max-width: 720px;
    margin: 0 auto;
}
section.sectionWrapper h2{
    margin: 0 0 3rem;
}
.sectionWrapper h2{
    font-size: 1.3rem;
}

@media only screen and (max-width: 700px){
    section.sectionWrapper{
        padding: 3rem 1rem;
    }  
    
}


/* top*/
.titleWrapper[aria-hidden="true"]{
    opacity: 0;
    transition: 0.8s;
    transform: translate(0, 1rem);
}
.titleWrapper[aria-hidden="false"]{
    opacity: 1;
    transition: 0.8s;
    padding-top: 0px;
    transform: translate(0, 0);
}
.titleLeftTextWrapper, .titleRightTextWrapper{
    width: 50%;
    margin: 0;
    position: relative;
    padding: 4rem 4rem 4rem;
    display: flex;
    align-items: center;
    height: 80vh;
}
.titleLeftTextWrapper[aria-hidden="true"]{
background-color: #ffffff;
}

.titleLeftTextWrapper .titleText{
	margin: 0 auto;
}
.titleLeftTextWrapper .titleBox{
    display: inline;
    margin: auto 2rem auto auto;
}
.titleRightTextWrapper .textBox p{
    font-weight: 900;
    margin-bottom: 8px;
}
@media only screen and (min-width: 800px)and(max-width:1028px){
    .titleLeftTextWrapper h1{
        font-size: 1.5rem;
    }
    
    .titleRightTextWrapper .textBox p{
        font-size: 1rem;
    }
    .titleLeftTextWrapper, .titleRightTextWrapper{
        height: 80vh;
        
    }
    
    
}
@media only screen and (max-width: 800px){
    .titleLeftTextWrapper, .titleRightTextWrapper{
        width: 100%;
        margin: 0;
        position: relative;
        padding: 2rem;
        display: flex;
        align-items: center;
        height: 100%;
    }
    .titleLeftTextWrapper{
        padding: 6.5rem 1.5rem 4.5rem 1.5rem;
    }
    .titleRightTextWrapper{
        padding:4rem 2rem;
    }
    .titleLeftTextWrapper .titleBox{
        display: inline;
        margin: auto auto auto 0;
    }
}

/* caution */
.cautionWrapper {
    background-color: #EDEDED;
    padding: 2rem 1rem 1rem;
}
.cautionWrapper .marStyle{
    max-width: 800px;
}
.cautionWrapper p{
    font-size: 0.9rem;
    margin-bottom: 1rem;
}
.cautionWrapper a{
    text-decoration: underline;
}
.cautionWrapper h2{
    font-size: 1rem;
    margin-bottom: 1rem;
}
.cautionWrapper ul{
    padding-left: 1rem;
    margin-bottom: 2rem;
}
.cautionWrapper ul li{
    list-style-type: disc;
    margin-bottom: 1rem;
    font-size: 0.9rem;
}

/* img*/
.imgWrapper .textBox p{
    font-size: 1.1rem;
    font-weight: 900;
}
.imgWrapper .textBox p span{
    margin-bottom: 1rem;
    display: inline-block;
}
.imgWrapper .imgBox{
    padding: 2rem 1rem;
}
/* message*/
.messageWrapper h2{
    margin-bottom: 4.5rem !important;
}
.messageWrapper p{
    margin-bottom: 4.5rem;
    font-weight: 900;
}
.messageWrapper p span {
    margin-bottom: 1.5rem;
    display: inline-block;
}

/* プライバシーポリシー */
#privacy{
    max-width: 960px;
    padding: 2rem 1rem;
    margin: 0 auto;
}
#privacy h2{
    margin-bottom: 2rem;
}
#privacy h3, #privacy p{
    margin-bottom: 1rem;
}

#privacy section{
    margin-bottom: 4rem;
}
#privacy ol, #privacy p{
    padding-left: 2rem;
}
#privacy ol li{
    list-style: decimal;
    margin-bottom: 1rem;
}
#privacy ol .secound li{
    list-style: lower-alpha;
    margin-bottom: 1rem;
}
#privacy .fields{
    margin-bottom: 60px;
}
#privacy .fields .field{
    list-style: none;
    border-bottom: 1px solid #ddd;
}
#privacy .fields .field:first-child{
    border-top: 1px solid #ddd;
}
#privacy .fields .field .fieldWrapper{
    display: flex;
    position: relative;
}
#privacy .fields .field .fieldWrapper .fieldLabel {
    width: 30%;
    background-color: #F2F2F2;
    font-weight: 900;
    
    padding: 12px 18px;
    font-size: 1.2rem;
    line-height: 1.5rem;
    position: relative;
}
#privacy .fields .field .fieldWrapper .fieldLabel span{
    position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  margin: auto;
  font-size: 1rem;
  width: 100%;
  max-width: 300px;
  padding: 0 20px;
}
#privacy .fields .field .fieldWrapper .fieldInput {
    padding: 12px 18px;
    width: 68%;
    margin: 10px;
    font-size: 1rem;
    line-height: 1.8rem;
}
#privacy .fields .field .fieldWrapper .fieldInput ul li{
    list-style: circle;
}
@media only screen and (max-width: 500px){
    #privacy .fields .field .fieldWrapper{
        display: block;
    }
    #privacy .fields .field .fieldWrapper .fieldLabel {
        width: 100%;
    }
    #privacy .fields .field .fieldWrapper .fieldLabel span{
        position: relative;
        top: auto;
        left: auto;
    }
    #privacy .fields .field .fieldWrapper .fieldInput {
        width: auto;
    }
}
.accessibility-table {
    width: 100%;
    margin-top: 2rem;
    border-collapse: collapse;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
  }
  
  .accessibility-table-caption {
    margin: 1rem 0 0.6rem;
    text-align: left;
  }
  
  .accessibility-table-tr,
  .accessibility-table-th,
  .accessibility-table-td {
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
  }
  
  .accessibility-table-th,
  .accessibility-table-td {
    padding: 1rem 1rem;
    font-size: 0.8rem;
    font-weight: normal;
    text-align: left;
  }
  
  .accessibility-table-thead {
    background-color: #F2F2F2;
  }
  
  .accessibility-table-th {
    background-color: #F2F2F2;
  }
  
  .accessibility-table-multi {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  
  .accessibility-table-multi .accessibility-ico-badge {
    margin-right: 2rem;
  }
  
  @media (max-width: 599px) {
    .accessibility-table-multi .accessibility-ico-badge {
      margin-right: 1rem;
    }
  }
  
  .accessibility-table-multi .accessibility-text {
    margin-top: 0;
  }
  
  /* thの幅 */
  .accessibility-table-th.accessibility-small {
    width: 19.3rem;
  }
  
  @media (max-width: 599px) {
    .accessibility-table-th.accessibility-small {
      width: 14.3rem;
    }
  }
  
  .accessibility-table-th.accessibility-medium {
    width: 30rem;
  }
  
  @media (max-width: 599px) {
    .accessibility-table-th.accessibility-medium {
      width: 14.6rem;
    }
  }
  
  
  .accessibility-table-th.accessibility-large {
    width: 44rem;
  }
  
  @media (max-width: 599px) {
    .accessibility-table-th.accessibility-large {
      width: 15rem;
    }
  }
  
  /* セルの幅 */
  .accessibility-table .accessibility-table-w33 {
    width: 33%;
  }
  .accessibility-table .accessibility-table-w25 {
    width: 25%;
  }
  .accessibility-table .accessibility-table-w20 {
    width: 20%;
  }
  
  
  /* th,td -- 背景色 */
  .accessibility-table-th.accessibility-blue,
  .accessibility-table-td.accessibility-blue {
    background-color: #E5EBF5;
  }
  
  .accessibility-table-th.accessibility-error,
  .accessibility-table-td.accessibility-error {
    background-color: #FFEBEB;
  }
  
  /* table -- 左右に罫線なし */
  .accessibility-table.accessibility-horizontal {
    border-left: 0;
    border-right: 0;
  }
  
  @media (max-width: 599px) {
      .accessibility-table.accessibility-scroll-x {
        display: block;
        overflow-x: scroll;
        -webkit-overflow-scrolling: touch;
      }
  }
  
/* プライバシーポリシー */
#accessibility{
    max-width: 960px;
    padding: 3rem 1rem;
    margin: 0 auto;
}
#accessibility h2{
    margin-bottom: 2rem;
}
#accessibility h3, #accessibility p{
    margin-bottom: 1rem;
}

#accessibility section{
    margin-bottom: 4rem;
}
#accessibility p, #accessibility h4{
    padding-left: 2rem;
}
.grecaptcha-badge { visibility: hidden; }